Выведите номера трёх различных минимальных элементов массива - 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 и выполняет следующие действия:

  1. Объявляет переменные: n (количество элементов в массиве), a (массив из n элементов), i, j, mn1, mn2, mn3 (переменные для хранения минимальных элементов).
  2. Заполняет массив случайными числами от 1001 до 9999.
  3. Находит три минимальных элемента массива и сохраняет их номера в переменных mn1, mn2 и mn3.
  4. Вычисляет значение переменной mn2 как разницу между mn1 и mn3.
  5. Проходится по оставшимся элементам массива и проверяет, является ли текущий элемент меньше mn1, mn2 или mn3. Если это так, то обновляет значения mn3, mn2 и mn1 соответственно.
  6. Выводит на экран первые три минимальных элемента и их номера. Таким образом, данный код выводит номера трех различных минимальных элементов массива.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы