Напишите пожалуйста на PascalABC Дано N целых чисел. Требуется выбрать из них два таких числа, произведение
5-9 класс
|
которых максимально.
var
N: 2..100;
a: array [1..100] of -1000..1000;
max1, max2, MaxPr, i, j: integer; {MaxPr - максимальное произведение, max1 и max2 - искомые числа}
function RangeOverfilling(Number: integer; Index: integer): integer; {Функция, возвращающая число в диапазон}
begin
if Number in [1..Index] then result := Number;
if Number > Index then result := Number mod Index;
if Number < 1 then result := Index + Number mod Index;
end;
begin
MaxPr:= -maxint; {Присваиваем максимальному проиведению начальное значение, равное максимальному числу типа integer, взятому со знаком -}
writeln('Введите N');
readln(N);
for i:= 1 to N do
begin
writeln('Введите целое число, по модулю не превышающее 1000');
readln(a[i]);
end;
for i:= 1 to N - 1 do
for j:= 1 to RangeOverfilling(N - i, N) do
if a[i] * a[i + j] > MaxPr then
begin
MaxPr:= a[i] * a[i + j];
max1:= a[i];
max2:= a[i + j];
end;
writeln('Пара чисел, дающих максимальное произведение: ', max1,' и ', max2);
end.
Другие вопросы из категории
Читайте также
2.Дан массив целых чисел из 25 элементов. Заполнить его случайными числами от 0 до 50. Заменить все четные элементы на их квадраты, а нечетные удвоить.
2. Дан массив целых чисел,найти количество отрицательных элементов массива.
3. Дан массив целых чисел,найти количество чётных чисел в массиве.
Определить, есть ли в последовательности число 77. Если такое число
есть, то вывести «Yes». В противном случае вывести «No». Решить данную
задачу двумя способами, используя циклы с пред и пост условиями.( в ПАСКАЛЕ)
Задачи:
1.Ввести три целых числа, найти максимальное из них
2.Ввести пять целых чисел, найти максимальное из них
типо по такой же системе которую щас напишу! program Maximum; i,n,max:integen; begin writeln ( 'введи элементы массива для поиска максимума'); for i:=1 to 10 do begin write ('a [', i ,']=');readln (a [ i ] ) ;end; max:=a[1]; for i = 2 to 10 do if a [ i ] > max then begin max:=a [ i ] ; n:= i ; end; writeln ('найти наибольший элемент ',max ,' под номером ', n); вот наподобие этого примера нужно построить мою задачу! в заданной последовательности целых чисел определите сумму элементов кратных 10. Помогите пожалуйста!!!