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

Узнай цену своей работы

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

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

Решение задачи: «Выведите номера трёх различных минимальных элементов массива»

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.

Объяснение кода листинга программы

В данном коде объявлены следующие переменные:

  • nx - количество элементов массива (30)
  • C - массив целых чисел (максимальное значение 1000)
  • i - счётчик итераций внешнего цикла
  • min1, min2, min3 - переменные для хранения минимальных значений
  • q, q1 - временные переменные для обмена значениями
  • n - количество элементов массива, введенное пользователем В начале кода присваиваются начальные значения переменным min1, min2 и min3. Затем происходит чтение значения переменной n. Далее следует внешний цикл, который выполняется n раз. Внутри этого цикла каждый элемент массива C[i] присваивается переменной C[i], а затем выводится на экран с помощью функции write. После выполнения внешнего цикла выполняется внутренний цикл. Его условием является проверка того, что текущий элемент C[i] меньше значения min1. Если это условие истинно, то значение min1 обновляется. Затем проверяется, что значение min2 больше значения min1. Если это условие истинно, то значения min1, min2 и min3 обновляются с помощью функций q, q1 и q. В конце внутреннего цикла выводятся значения min1, min2 и min3 с помощью функции write. После выполнения всех итераций выводится итоговый результат с помощью функции write.

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

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