Отыскать в матрице с помощью функции максимальный элемент - Turbo Pascal
Формулировка задачи:
Задана квадратная матрица из n*n целых чисел.Отыскать в матрице с помощью функции максимальный элемент. С помощью процедуры обеспечить удаление строки и столбца, на пересечении которых был найден этот элемент. Вывести исходную матрицу и результат преобразования.Помогите пожалуйста в коде поставить функцию и процедуру.
Решение задачи: «Отыскать в матрице с помощью функции максимальный элемент»
textual
Листинг программы
uses crt; type mtr=array[1..10,1..10] of integer; function max(a:mtr;n:byte;var maxi,maxj:byte):integer; var i,j:byte; begin maxi:=1; maxj:=1; for i:=1 to n do for j:=1 to n do if a[i,j]>a[maxi,maxj] then begin maxi:=i; maxj:=j; end; max:=a[maxi,maxj]; end; procedure del(var a:mtr;n,maxi,maxj:byte; var m:byte); var i,j:byte; begin m:=n; if maxi=n then m:=m-1 else begin for i:=maxi to n-1 do for j:=1 to n do a[i,j]:=a[i+1,j]; m:=m-1; end; if maxj=n then n:=m else begin for j:=maxj to n-1 do for i:=1 to m do a[i,j]:=a[i,j+1]; n:=m; end; end; procedure print(a:mtr;n:byte;s:string); var i,j:byte; begin writeln(s); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:3); writeln; end; end; var a:mtr; n,m,i,j,maxi,maxj:byte; mx:integer; begin repeat write('Введите размер матрицы от 2 до 10 n='); readln(n); until n in [2..10]; randomize; for i:=1 to n do for j:=1 to n do a[i,j]:=random(100); print(a,n,'Исходная матрица'); mx:=max(a,n,maxi,maxj); writeln('Максимальный элемент=',mx,' в строке ',maxi,' столбце ',maxj); del(a,n,maxi,maxj,m); print(a,m,'Удаление строки и столбца'); end.
Объяснение кода листинга программы
- Создаётся тип данных mtr, который представляет собой матрицу целых чисел размером от 1 до 10 на 10.
- Определяется функция max, которая принимает матрицу, её размер и два указателя на максимальные элементы. Она выполняет поиск максимального элемента в матрице и возвращает его значение.
- Определяется процедура del, которая удаляет строку и столбец из матрицы.
- Определяется процедура print, которая выводит исходную матрицу, максимальный элемент и результат удаления строки и столбца.
- Создаётся переменная a типа mtr и заполняется случайными числами от 0 до 99.
- Выполняется цикл, в котором пользователь вводит размер матрицы от 2 до 10.
- Выполняется генерация случайной матрицы.
- Выводится исходная матрица.
- Вычисляется максимальный элемент с помощью функции max.
- Выводится максимальный элемент и его позиция.
- Выполняется удаление строки и столбца.
- Выводится результат удаления.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д