Найти индексы трех наименьших чисел массива - PascalABC.NET
Формулировка задачи:
Создать массив из 10 элементов. Заполнить его случайными числами от 0 до 1000. Вывести индексы трех минимальных чисел. !!! Разрешается только 1 проход(перебор) по массиву !!!
Решение задачи: «Найти индексы трех наименьших чисел массива»
textual
Листинг программы
const n=10;
var a:array[1..n] of integer;
i,mn1,mn2,mn3:integer;
begin
randomize;
writeln('Массив');
mn1:=1;
mn2:=1;
mn3:=1;
for i:=1 to n do
begin
a[i]:=random(1001);
write(a[i]:5);
if a[i]<a[mn1] then
begin
mn3:=mn2;
mn2:=mn1;
mn1:=i;
end
else if a[i]<a[mn2] then
begin
mn3:=mn2;
mn2:=a[i];
end
else if a[i]<a[mn3] then mn3:=i;
end;
writeln;
writeln('Индекс 1 минимального=',mn1);
writeln('Индекс 2 минимального=',mn2);
writeln('Индекс 3 минимального=',mn3);
end.
Объяснение кода листинга программы
- В начале кода объявляются переменные: — n — количество элементов в массиве (10); — a — массив (10 элементов); — i — счётчик для цикла; — mn1, mn2, mn3 — индексы трёх наименьших чисел.
- Заполнение массива случайными числами от 1 до 1000.
- Поиск трёх наименьших чисел в массиве.
- Вывод индексов трёх наименьших чисел.