Найти максимальный элемент массива и поменять его местами с первым элементом - 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.

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

  1. В начале кода подключается библиотека CRT.
  2. Затем определяется константа n, которая определяет размер массива.
  3. Определяется тип данных mas, который представляет собой массив целых чисел.
  4. Далее определяются две переменные a1 и a2 типа mas, которые будут использоваться для хранения преобразованных массивов.
  5. Затем определяется переменная i, которая будет использоваться для итерации по массиву.
  6. В процедуре P сначала инициализируется переменная max значением первого элемента массива a и переменной index значением 1.
  7. Затем в цикле for происходит сравнение каждого элемента массива a с переменной max. Если текущий элемент больше max, то max обновляется на значение текущего элемента, а index обновляется на значение индекса текущего элемента.
  8. После завершения цикла, в переменной buf присваивается значение первого элемента массива a, а в переменной a[1] присваивается значение элемента с индексом index. Таким образом, первый элемент массива a заменяется на buf.
  9. В конце процедуры выводится пустая строка, а затем выводятся значения max и index с помощью функции write.
  10. Код завершается вызовом процедуры P для массива A1 и затем выводится преобразованный массив A1.
  11. После этого выводится пустая строка, а затем выводится массив A2 и выполняется преобразование для него.
  12. Код завершается.

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


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

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

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