Дан целочисленный массив из 10 элементов. элементы массива могут принимать произвольные значения. опишите на языке программирования алгоритм, который находит и выводит номера двух элементов массива, наименее отличающихся друг от друга.
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016 // Внимание! Если программа не работает, обновите версию!
begin var n:=10; var a:=ArrRandom(n,1,99); a.Println; var d:=100; var i1,i2:integer; for var i:=0 to n-2 do for var j:=i+1 to n-1 do begin var dd:=abs(a[i]-a[j]); if dd<d then begin d:=dd; i1:=i; i2:=j end end; Writeln('Элементы ',i1+1,', ',i2+1) end.
Пример 47 55 18 58 16 77 43 95 13 86 Элементы 3, 5
// Внимание! Если программа не работает, обновите версию!
begin
var n:=10;
var a:=ArrRandom(n,1,99); a.Println;
var d:=100;
var i1,i2:integer;
for var i:=0 to n-2 do
for var j:=i+1 to n-1 do begin
var dd:=abs(a[i]-a[j]);
if dd<d then begin d:=dd; i1:=i; i2:=j end
end;
Writeln('Элементы ',i1+1,', ',i2+1)
end.
Пример
47 55 18 58 16 77 43 95 13 86
Элементы 3, 5