Отыскать в матрице с помощью функции максимальный элемент - 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.

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

  1. Создаётся тип данных mtr, который представляет собой матрицу целых чисел размером от 1 до 10 на 10.
  2. Определяется функция max, которая принимает матрицу, её размер и два указателя на максимальные элементы. Она выполняет поиск максимального элемента в матрице и возвращает его значение.
  3. Определяется процедура del, которая удаляет строку и столбец из матрицы.
  4. Определяется процедура print, которая выводит исходную матрицу, максимальный элемент и результат удаления строки и столбца.
  5. Создаётся переменная a типа mtr и заполняется случайными числами от 0 до 99.
  6. Выполняется цикл, в котором пользователь вводит размер матрицы от 2 до 10.
  7. Выполняется генерация случайной матрицы.
  8. Выводится исходная матрица.
  9. Вычисляется максимальный элемент с помощью функции max.
  10. Выводится максимальный элемент и его позиция.
  11. Выполняется удаление строки и столбца.
  12. Выводится результат удаления.

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


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

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

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