Двумерный массив. Поиск максимума и минимума. Перестановка. - Turbo Pascal
Формулировка задачи:
Дана матрица B[N,M]. Найти в каждой строке матрицы максимальный и минимальный элемент и поменять их местами с первым и последним элементом строки соотвественно.
Решение задачи: «Двумерный массив. Поиск максимума и минимума. Перестановка.»
textual
Листинг программы
uses crt; const nmax=15; var b: array [1..nmax,1..nmax] of integer; n,m,i,j,jmax,jmin: byte; buf: integer; begin repeat write('Количество строк, не более ',nmax,', n='); readln(n); until n in [1..nmax]; repeat write('Количество столбцов, не более ',nmax,', m='); readln(m); until m in [1..nmax]; writeln('Исходная матрица'); for i:=1 to n do begin for j:=1 to m do begin b[i,j]:=random(199)-99; write(b[i,j]:4); end; jmax:=1; jmin:=1; for j:=2 to m do begin if b[i,j]>b[i,jmax] then jmax:=j; if b[i,j]<b[i,jmin] then jmin:=j; end; buf:=b[i,1]; b[i,1]:=b[i,jmax]; b[i,jmax]:=buf; buf:=b[i,m]; b[i,m]:=b[i,jmin]; b[i,jmin]:=buf; writeln; end; writeln; writeln('Преобразованная матрица'); for i:=1 to n do begin for j:=1 to m do write(b[i,j]:4); writeln; end; readln; end.
Объяснение кода листинга программы
- Создается двумерный массив b размером nmax x nmax, где nmax - максимально допустимое количество строк и столбцов.
- Задаются переменные n, m, i, j, jmax и jmin для отслеживания индексов строк и столбцов.
- Чтение количества строк и столбцов из ввода пользователя.
- Вывод исходной матрицы. Для каждой строки от 1 до n вычисляются максимальное и минимальное значение в этой строке, а также обновляются соответствующие значения в переменных jmax и jmin. Затем происходит перестановка элементов в строке с помощью переменной buf.
- Вывод преобразованной матрицы. Для каждой строки от 1 до n вычисляются максимальное и минимальное значение в этой строке, а также обновляются соответствующие значения в переменных jmax и jmin. Затем происходит перестановка элементов в строке с помощью переменной buf.
- Ввод пользовательского ввода для завершения программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д