Выведите номера трёх различных минимальных элементов массива - Pascal ABC (14485)

Формулировка задачи:

Заполните массив случайными числами в интервале [0,1000] и выведите номера трёх различных минимальных элементов. Разрешается сделать только один проход по массиву

Код к задаче: «Выведите номера трёх различных минимальных элементов массива - Pascal ABC (14485)»

textual
const nx=30;
var C:Array[1..nx] of integer; i,min1,min2,min3,q,q1,n:integer;
begin min1:=1001;min2:=1001;min3:=1001;
write('введите кол-во элементов массива');
Read(n);
for i:=1 to n do begin
C[i]:= random(1000);
write(C[i]:4);
end;
for i:=1 to n do begin
if C[i]< min1 then min1:=C[i];
if min2 > min1 then begin q:= min2;min2:=min1;min1:=q;end;
if min3 > min2 then begin q1:= min3;min3:=min2;min2:=q1;
if min2 > min1 then begin q:= min2;min2:=min1;min1:=q;end;
end;
end;
writeln;
write(min1:4,min2:4,min3:4);
end.

14   голосов, оценка 4.357 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы