Найти максимальный элемент массива и поменять его местами с первым элементом - Turbo Pascal (35316)
Формулировка задачи:
В качестве условия задачи берется задание из 5 лабораторной работы, но работать не с одним массивом, а с двумя А1 и А2. В основной программе предусмотреть вызовы подпрограмм к обоим массивам.
вот 5 лаб работа "Дан массив целых чисел а1,…, аn. Найти максимальный элемент массива и поменять его ме-стами с первым элементом." Он сделан вот так:
как 6 сделать не знаю, помогите пожалуйста.
Решение задачи: «Найти максимальный элемент массива и поменять его местами с первым элементом»
textual
Листинг программы
Uses CRT; Const n=5; Type mas=array[1..n] of integer; var a1,a2:mas; i:integer; Procedure P(Var A:mas;n:byte); Var i,index,buf,max:integer; Begin max:=a[1]; index:=1; for i:=1 to n do begin if a[i]>max then begin max:=a[i]; //Поиск максимального эл. index:=i; //Его индекс end end; writeln(''); write('Max=',max,' Index=',index); buf:=a[1]; //Замена первого элемента,с тем,откуда мы его взяли a[1]:=a[index]; a[index]:=buf; End; begin ClrScr; writeln('Массив A1'); for i:=1 to n do begin a1[i]:=Random(21); write(' a1[',i,']=',a1[i]); end; P(A1,n); writeln; writeln('Преобразованный массив A1'); for i:=1 to n do write(' a1[',i,']=',a1[i]); //Вывод writeln; writeln('Массив A2'); for i:=1 to n do begin a2[i]:=Random(21); write(' a2[',i,']=',a2[i]); end; P(A2,n); writeln; writeln('Преобразованный массив A2'); for i:=1 to n do write(' a2[',i,']=',a2[i]); //Вывод end.
Объяснение кода листинга программы
- В начале кода подключается библиотека CRT.
- Затем определяется константа n, которая определяет размер массива.
- Определяется тип данных mas, который представляет собой массив целых чисел.
- Далее определяются две переменные a1 и a2 типа mas, которые будут использоваться для хранения преобразованных массивов.
- Затем определяется переменная i, которая будет использоваться для итерации по массиву.
- В процедуре P сначала инициализируется переменная max значением первого элемента массива a и переменной index значением 1.
- Затем в цикле for происходит сравнение каждого элемента массива a с переменной max. Если текущий элемент больше max, то max обновляется на значение текущего элемента, а index обновляется на значение индекса текущего элемента.
- После завершения цикла, в переменной buf присваивается значение первого элемента массива a, а в переменной a[1] присваивается значение элемента с индексом index. Таким образом, первый элемент массива a заменяется на buf.
- В конце процедуры выводится пустая строка, а затем выводятся значения max и index с помощью функции write.
- Код завершается вызовом процедуры P для массива A1 и затем выводится преобразованный массив A1.
- После этого выводится пустая строка, а затем выводится массив A2 и выполняется преобразование для него.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д