Поменять местами строки двумерного массива - Turbo Pascal
Формулировка задачи:
Здравствуйте, есть код, который находит максимальные и минимальные значения массива в каждой строке:
Решение задачи: «Поменять местами строки двумерного массива»
textual
Листинг программы
uses crt; var a:array[1..6,1..6] of integer; i,n,j,r,max,min,max1,min1,imx,imn,k:integer; begin clrscr; repeat writeln('Введите размер матрцы от 2 до 10 n='); readln(n); until n in [2..6]; clrscr; writeln('Исходная матрица'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(100); write(a[i,j]:3); end; writeln; end; for i:=1 to n do begin max:=a[i,1]; min:=a[i,1]; for j:=1 to n do if a[i,j]>max then max:=a[i,j] else if a[i,j]<min then min:=a[i,j]; if i=1 then begin max1:=max; imx:=1; min1:=min; imn:=i; end else begin if max>max1 then begin max1:=max; imx:=i; end; if min<min1 then begin min1:=min; imn:=i; end; end; writeln(i,'-макс=',max,' мин=',min); end; writeln('Максимальный в матрице=',max1,' в строке ',imx); writeln('Минимальный в матрице=',min1,' в строке ',imn); if imx=imn then write('Максимальный и минимальный в одной строке, обмена нет') else begin for i:=1 to n do begin k:=a[imx,i]; a[imx,i]:=a[imn,i]; a[imn,i]:=k; end; writeln('Обмен строк ',imx,' и ',imn); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:3); writeln; end; end; readln end.
Объяснение кода листинга программы
- Используется модуль CRT (клавиатура/монитор) для ввода/вывода данных.
- Введены переменные:
- a: двумерный массив (6x6) целых чисел.
- i, n, j, r, max, min, max1, min1, imx, imn, k: целочисленные переменные для управления циклом и обмена значениями.
- Установлены начальные значения переменных:
- n: размер матрицы (от 2 до 10).
- a[i,j]: случайное число от 0 до 99.
- Выводится исходная матрица (6x6).
- Находится максимальное и минимальное значение в каждой строке матрицы (переменные max и min).
- Находится индекс строки с максимальным значением (переменная imx) и индекс строки с минимальным значением (переменная imn).
- Если максимальное и минимальное значение находятся в одной строке, то обмен не требуется.
- В противном случае происходит обмен значениями между строками imx и imn.
- Выводится сообщение об обмене строк.
- Выводится измененная матрица.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д