Заполните массив случайными числами в интервале [0,1000] и выведите номера двух соседних...

0 голосов
318 просмотров

Заполните массив случайными числами в интервале [0,1000] и выведите номера двух соседних элементов, произведение которых наибольшее
Паскаль. Выполнить с помощью рандома


Информатика (1.3k баллов) | 318 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1389 от 01.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),0,1000); a.Println;
  var i:=a.Pairwise.Select(x->x[0]*x[1]).ToArray.IndexMax;
  Writeln('Элементы ',i+1,' и ',i+2,' дают произведение ',a[i]*a[i+1])
end.

Пример
n= 15
115 263 63 193 374 685 174 755 728 654 979 274 93 994 411
Элементы 10 и 11 дают произведение 640266
(150k баллов)
0

Ох как сложно все :"D спасибо большое)

0

Мы просто только начали рекурсию

0

Ой, рандом

0

у вас много того, что мы в 10 классе еще не прошли. Поэтому не могу это использовать)

0 голосов

Const
K = 7;
Var
A:array[1..K] of integer;
i,n:integer;
Begin
For i:= 1 to K do
    Begin
    A[i]:=random(1001);
    Write(A[i],' ');
    End;
WriteLn;
n:=1;
For i:= 2 to K-1 do
    if A[i]*A[i+1]>A[n]*A[n+1] then n:=i;
WriteLn(n,' и ',n+1)
End.

(34.0k баллов)