В произвольно заданном одномерном массиве определить минимальный и максимальный элемент - 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.
Объяснение кода листинга программы
- Создаётся переменная
nmax
и инициализируется значением 100. - Создаётся переменная
a
типаarray[1..nmax] of integer
. - Создаются переменные
n
,m
,i
,imn
,imx
,mn
,mx
,x
и инициализируются начальными значениями. - Выполняется цикл
repeat
, который запрашивает у пользователя размер массива от 2 доnmax
и сохраняет его в переменнойn
. - Внутри цикла
repeat
выводится сообщение с запросом размера массива и его текущим значением. - Выполняется цикл
for
, который начинается с индекса 1 и продолжается доn
. Внутри цикла генерируется случайное число от -25 до 25 и записывается в элемент массива с индексомi
. - Внутри цикла
for
проверяется, является ли текущий элемент максимальным или минимальным среди всех предыдущих элементов. Если текущий элемент больше максимального, тоimx
обновляется на текущий индекс. Если текущий элемент меньше минимального, тоimn
обновляется на текущий индекс. - После завершения цикла
for
выводится сообщение с текущими значениями минимального и максимального элементов. - Выполняется обмен минимального элемента с первым и максимального элемента с последним.
- Выводится окончательный результат.
- Выполняется цикл
readln
, который позволяет пользователю взаимодействовать с консолью. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д