Найти все самые нижние максимальные элементы по столбцам матрицы - PascalABC.NET

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

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

Дана матрица размерностью NM, состоящая из натуральных чисел. Найти все самые нижние максимальные элементы по столбцам и вывести их значение и местоположение на экран (оформить в виде процедуры). Вычислить среднее арифметическое элементов нижней строки (оформить в виде функции). Записать в текстовый файл элементы нижней строки

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

textual
Листинг программы
type mtr=array[,]of integer;
procedure max(a:mtr;n,m:integer);
var i,j,mx,imx:integer;
begin
writeln('Последние максимальные столбцов');
for j:=0 to m-1 do
 begin
  mx:=a[0,j];
  imx:=1;
  for i:=0 to n-1 do
  if a[i,j]>=mx then
   begin
    mx:=a[i,j];
    imx:=i+1;
   end; 
  writeln('положение=[',imx,',',j+1,']  значение=',mx);
 end;
end;
function sred(a:mtr;n,m:integer):real;
var j:integer;
begin
result:=0;
for j:=0 to m-1 do
result:=result+a[n-1,j];
result:=result/m;
end;
var a:mtr;
    m,n,i,j:integer;
    f:text;
begin
randomize;
writeln('Введите размеры матрицы');
readln(n,m);
setlength(a,n,m);
for i:=0 to n-1 do
 begin
  for j:=0 to m-1 do
   begin
    a[i,j]:=random(6);
    write(a[i,j]:3);
   end;
  writeln;
 end;
max(a,n,m);
writeln('Среднее арифметическое последней строки=',sred(a,n,m):0:2);
assign(f,'stroka.txt');
rewrite(f);
for j:=0 to m-1 do
write(f,a[n-1,j]:3);
writeln('Последняя строка матрицы записана в файл stroka.txt');
close(f);
end.

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

  1. Тип переменной mtr объявлен как массив array[,]of integer, который представляет собой двумерный массив целых чисел.
  2. В процедуре max перебираются все элементы матрицы, начиная с первого столбца, и ищутся максимальные значения в каждом столбце.
  3. Переменная mx инициализируется значением первого элемента первого столбца, а переменная imx инициализируется значением 1.
  4. Переменная imx хранит позицию последнего найденного максимального элемента.
  5. Переменная mx обновляется, если текущий элемент больше текущего максимального значения.
  6. Переменная imx обновляется, если текущий элемент имеет большее максимальное значение.
  7. После завершения цикла, выводится сообщение с положением и значением последнего максимального элемента.
  8. В функции sred перебираются все элементы последнего столбца матрицы и суммируются.
  9. Результат делится на количество элементов, чтобы получить среднее арифметическое.
  10. Переменная f объявлена как текстовый файл, который будет использоваться для записи последней строки матрицы.
  11. В цикле перебираются все элементы последнего столбца матрицы и записываются в файл.
  12. После завершения цикла, выводится сообщение о том, что последняя строка матрицы записана в файл stroka.txt.
  13. Файл f закрывается с помощью функции close.

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


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

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

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