Есть ответ 👍

Напишите на pascalabc дано n целых чисел. требуется выбрать из них два таких числа, произведение которых максимально. вводится сначала число n - количество чисел в последовательности (2 ≤ n ≤ 100). далее записана сама последовательность: n целых чисел, по модулю не превышающих 1000. выведите два искомых числа в любом порядке. если существует несколько различных пар чисел, максимальное произведение, то выведите любую из них.

177
371
Посмотреть ответы 2

Ответы на вопрос:


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.

   

   

KsyLisa
4,5(93 оценок)

a.колонка.

б.сервер.

в.монитор.

г.сканер.

лишное слово сервер.

все остальное - устройства компьютера.а сервер -компьютер.

Популярно: Информатика