Найти наибольший элемент массива и поменять местами столбец и строку с элементом - Pascal

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

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

Создать квадратный целочисленный массив. В подпрограмме найти наибольший элемент массива и поменять местами столбец и строку с этим элементом.

Решение задачи: «Найти наибольший элемент массива и поменять местами столбец и строку с элементом»

textual
Листинг программы
const
  n=5;
var
  a:array[1..n,1..n] of integer; k,i,j,im,jm:integer;
begin
  im:=1; jm:=1;
  for i:=1 to n do
    begin
      for j:=1 to n do
        begin
          a[i,j]:=random(100);
          Write(a[i,j]:5);
          if (a[i,j]>a[im,jm]) Then
            begin
              im:=i;
              jm:=j;
            end;
        end;
      writeln;
    end;
  writeln;
 
  for i:=1 to n do
    begin
      k:=a[im,i];
      a[im,i]:=a[i,jm];
      a[i,jm]:=k;
    end;
 
  for i:=1 to n do
    begin
      for j:=1 to n do
        Write(a[i,j]:5);
      writeln;
    end;
 writeln;
 
 Writeln('Не проверяла.');
 readln;
end.

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

  1. В первой строке объявляются переменные n и a. Переменная n инициализируется значением 5. Переменная a объявляется как массив целых чисел размером от 1 до n включительно.
  2. Далее идет цикл for, который выполняется n раз. Внутри цикла идет еще один цикл for, который также выполняется n раз. Внутри второго цикла происходит заполнение массива a случайными числами от 1 до 100.
  3. После окончания второго цикла выводится значение каждого элемента массива a с помощью функции Write.
  4. Затем происходит сравнение значений элементов массива a. Если текущий элемент больше следующего, то значения меняются местами с помощью конструкций if и else if.
  5. После завершения первого цикла происходит перестановка местми значениями, которые были в текущей и следующей строках массива.
  6. Затем выводится содержимое массива a с помощью функции Write.
  7. После этого происходит второй цикл for, который повторяется n раз. Внутри цикла происходит обмен значениями строк и столбцов массива a с помощью конструкций if и else if.
  8. После завершения второго цикла выводится содержимое массива a с помощью функции Write.
  9. В конце программы выводится сообщение 'Не проверяла.' и происходит чтение строки с помощью функции readln.

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

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