Выведите номера трёх различных минимальных элементов массива - Pascal ABC (12992)
Формулировка задачи:
Заполните массив случайными числами в интервале (0,1000) и выведите номера трёх различных минимальных элементов.Разрешается сделать только один проход по массиву
Решение задачи: «Выведите номера трёх различных минимальных элементов массива»
textual
Листинг программы
const n=20; var a:array[1..n] of integer; i,j,mn1,mn2,mn3:integer; begin randomize; writeln('Исходный массив'); for i:=1 to n do begin a[i]:=random(1001); write(a[i]:4); end; writeln; if a[1]<a[2] then mn1:=1 else mn1:=2; if a[3]<a[mn1] then mn1:=3; if a[1]>a[2] then mn3:=1 else mn3:=2; if a[3]>a[mn3] then mn3:=3; mn2:=6-mn1-mn2; for i:=4 to n do 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:=i; end else if a[i]<a[mn3] then mn3:=i; writeln('Первые 3 минимальных имеют номера ',mn1,'(',a[mn1],') ',mn2,'(',a[mn2],') ',mn3,'(',a[mn3],')'); end.
Объяснение кода листинга программы
Данный код написан на языке Pascal ABC и выполняет следующие действия:
- Объявляет переменные: n (количество элементов в массиве), a (массив из n элементов), i, j, mn1, mn2, mn3 (переменные для хранения минимальных элементов).
- Заполняет массив случайными числами от 1001 до 9999.
- Находит три минимальных элемента массива и сохраняет их номера в переменных mn1, mn2 и mn3.
- Вычисляет значение переменной mn2 как разницу между mn1 и mn3.
- Проходится по оставшимся элементам массива и проверяет, является ли текущий элемент меньше mn1, mn2 или mn3. Если это так, то обновляет значения mn3, mn2 и mn1 соответственно.
- Выводит на экран первые три минимальных элемента и их номера. Таким образом, данный код выводит номера трех различных минимальных элементов массива.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д