)дан массив из 20-ти элементов случайных чисел.найти номера двух соседних элементов наименее отличающихся друг от друга. скиньте решение в паскале) заранее )

Кеса1188 Кеса1188    2   25.09.2019 02:30    5

Ответы
викся1231 викся1231  08.10.2020 17:16
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(20,-50,50); a.Println;
  var im:=a.Pairwise.Select(t->Abs(t[0]-t[1])).ToArray.IndexMin;
  Println(a[im],a[im+1]);
end.

Пример
7 -46 48 -46 -1 -33 40 -30 -45 -47 -5 14 21 -15 -17 -36 39 5 22 -19
-45 -47
ПОКАЗАТЬ ОТВЕТЫ
lizamrio1 lizamrio1  08.10.2020 17:16
Var
   arr: array [1.. 20] of integer;
   i, ind, diff: integer;

begin

i := 0;
ind := 0;
diff := maxint;

randomize;
for i := 1 to 20 do
begin
   arr[i] := random(100);
   write(arr[i], ' ');
end;

writeln(' ');

for i := 1 to 19 do
   if abs(arr[i] - arr[i + 1]) < diff then
   begin
      diff := abs(arr[i] - arr[i + 1]);
      ind := i;
   end;

writeln(ind, ' ', ind + 1);

end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика