В произвольно заданном одномерном массиве определить минимальный и максимальный элемент - Turbo Pascal

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

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

Помогите пожалуйста написать программу. В произвольно заданном одномерном массиве определить минимальный и максимальный элемент. Поменять местами максимальный элемент с первым, минимальный с последним

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

textual
Листинг программы
uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
    n,m,i,imn,imx,mn,mx,x:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
writeln('Исходный массив');
for i:=1 to n do
 begin
  a[i]:=-25+random(51);
  write(a[i]:4);
  if i=1 then
   begin
    imx:=1;
    imn:=1;
   end
  else
   begin
    if a[i]>a[imx] then imx:=i
    else if a[i]<a[imn] then imn:=i;
   end;
 end;
writeln;
writeln('Минимальный  элемент a[',imn,']=',a[imn]);
writeln('Максимальный элемент a[',imx,']=',a[imx]);
x:=a[1];
a[1]:=a[imn];
a[imn]:=x;
x:=a[n];
a[n]:=a[imx];
a[imx]:=x;
writeln('Обмен мин с первым и макс с последним');
for i:=1 to n do
write(a[i]:4);
readln
end.
readln
end.

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

  1. Создаётся переменная nmax и инициализируется значением 100.
  2. Создаётся переменная a типа array[1..nmax] of integer.
  3. Создаются переменные n, m, i, imn, imx, mn, mx, x и инициализируются начальными значениями.
  4. Выполняется цикл repeat, который запрашивает у пользователя размер массива от 2 до nmax и сохраняет его в переменной n.
  5. Внутри цикла repeat выводится сообщение с запросом размера массива и его текущим значением.
  6. Выполняется цикл for, который начинается с индекса 1 и продолжается до n. Внутри цикла генерируется случайное число от -25 до 25 и записывается в элемент массива с индексом i.
  7. Внутри цикла for проверяется, является ли текущий элемент максимальным или минимальным среди всех предыдущих элементов. Если текущий элемент больше максимального, то imx обновляется на текущий индекс. Если текущий элемент меньше минимального, то imn обновляется на текущий индекс.
  8. После завершения цикла for выводится сообщение с текущими значениями минимального и максимального элементов.
  9. Выполняется обмен минимального элемента с первым и максимального элемента с последним.
  10. Выводится окончательный результат.
  11. Выполняется цикл readln, который позволяет пользователю взаимодействовать с консолью.
  12. Конец программы.

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


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

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

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