Поменять местами минимальный элемент массива и первый элемент, имеющий нулевое значение - Pascal ABC

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

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

Поменять местами минимальный элемент массива и первый элемент, имеющий нулевое значение. Вот шапка:

Решение задачи: «Поменять местами минимальный элемент массива и первый элемент, имеющий нулевое значение»

textual
Листинг программы
Uses Crt;
Const n=20;
Type Mas = array [1..n] of integer;
Var  A: Mas;
     i,i1,imn,x:integer;
Begin
Randomize;
Writeln('Исходный массив');
For i:=1 to n do
 begin
  A[i]:=-10+random(21);
  Write(A[i]:4);
 end;
Writeln;
i1:=0;
imn:=1;
For i:=1 to n do
 begin
  if A[i]<A[imn] then imn:=i;
  if(i1=0)and(A[i]=0)then i1:=i;
 end;
Writeln('Минимальный элемент=',A[imn],' его номер=',imn);
if i1=0 then Write('Нулевого элемента нет')
else
 begin
  Writeln('Номер первого нулевого элемента=',i1);
  x:=A[imn];
  A[imn]:=A[i1];
  A[i1]:=x;
  Writeln('Обмен первого нулевого и минимального элементов');
  For i:=1 to n do
  Write(A[i]:4);
 end;
end.

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

  1. Создается случайный массив из 20 целых чисел от -10 до 10.
  2. Выводится содержимое массива.
  3. Инициализируются две переменные: i1 для хранения индекса первого нулевого элемента и imn для хранения индекса минимального элемента.
  4. Запускается цикл, в котором проверяется, является ли текущий элемент минимальным среди всех элементов, начиная с i1. Если это так, то обновляется значение imn.
  5. Проверяется условие i1=0 и A[i1]=0. Если оно выполняется, то i1 обновляется на текущий индекс.
  6. Если i1 не равно 0, то выводится номер i1-го нулевого элемента.
  7. Если i1=0, то выводится сообщение Нулевого элемента нет.
  8. Обновляется значение x на текущее значение A[imn].
  9. Обновляется значение A[imn] на текущее значение A[i1].
  10. Обновляется значение A[i1] на x.
  11. Выводится сообщение Обмен первого нулевого и минимального элементов.
  12. Запускается еще один цикл, в котором выводится содержимое массива.

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


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

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

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