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

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

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

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

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

textual
Листинг программы
  1. type mtr=array[,]of integer;
  2. procedure max(a:mtr;n,m:integer);
  3. var i,j,mx,imx:integer;
  4. begin
  5. writeln('Последние максимальные столбцов');
  6. for j:=0 to m-1 do
  7.  begin
  8.   mx:=a[0,j];
  9.   imx:=1;
  10.   for i:=0 to n-1 do
  11.   if a[i,j]>=mx then
  12.    begin
  13.     mx:=a[i,j];
  14.     imx:=i+1;
  15.    end;
  16.   writeln('положение=[',imx,',',j+1,']  значение=',mx);
  17.  end;
  18. end;
  19. function sred(a:mtr;n,m:integer):real;
  20. var j:integer;
  21. begin
  22. result:=0;
  23. for j:=0 to m-1 do
  24. result:=result+a[n-1,j];
  25. result:=result/m;
  26. end;
  27. var a:mtr;
  28.     m,n,i,j:integer;
  29.     f:text;
  30. begin
  31. randomize;
  32. writeln('Введите размеры матрицы');
  33. readln(n,m);
  34. setlength(a,n,m);
  35. for i:=0 to n-1 do
  36.  begin
  37.   for j:=0 to m-1 do
  38.    begin
  39.     a[i,j]:=random(6);
  40.     write(a[i,j]:3);
  41.    end;
  42.   writeln;
  43.  end;
  44. max(a,n,m);
  45. writeln('Среднее арифметическое последней строки=',sred(a,n,m):0:2);
  46. assign(f,'stroka.txt');
  47. rewrite(f);
  48. for j:=0 to m-1 do
  49. write(f,a[n-1,j]:3);
  50. writeln('Последняя строка матрицы записана в файл stroka.txt');
  51. close(f);
  52. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы