Определить положение максимального элемента в строке матрицы имеющий минимальную сумму положительных элементов - Turbo Pascal

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

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

"определить положение максимального элемента в строке матрицы имеющий минимальную сумму положительных элементов"

Решение задачи: «Определить положение максимального элемента в строке матрицы имеющий минимальную сумму положительных элементов»

textual
Листинг программы
uses crt;
 
const
  nmax = 10;
  mmax = 10;
 
var
  A : array [1..nmax, 1..mmax] of integer;
  i, j, n, m : integer;
  sum, minsum, isum : integer;
  max, jmax : integer;
  
begin
  ClrScr;
  Repeat
    Write('Количество строк (не более ', nmax, ') = ');
    Readln(n);
  until n in [1..nmax];
  Repeat
    Write('Количество столбцов (не более ', mmax, ') = ');
    Readln(m);
  until m in [1..mmax];
  Writeln('Введите элементы: ');
  for i := 1 to n do
    for j := 1 to n do
      Read(A[i, j]);
  ClrScr;
  for i := 1 to n do
    begin
      for j := 1 to m do
        Write(A[i, j], ' ');
      Writeln;
    end;
  for j := 1 to m do
    if A[1, j] > 0 then sum := sum + A[1, j];
  isum := 1;
  minsum := sum;
  for i := 2 to n do
    begin
      sum := 0;
      for j := 1 to m do if A[i, j] > 0 then sum := sum + A[i, j];
      if sum < minsum then
        begin
          isum := i;
          minsum := sum;          
        end;
    end;
  jmax :=  1;
  max := A[isum, 1];
  for j := 2 to m do
    if max < A[isum, j] then 
      begin
        jmax := j;
        max := A[isum, j];
      end;
  Writeln('Положение элемента [', isum, ';', jmax, ']');
  Readln;
end.

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

  1. Создается матрица A размером nmax x mmax, где nmax и mmax - это константы, определяющие максимально допустимые значения для n и m соответственно.
  2. Пользователю предлагается ввести количество строк и столбцов матрицы. Эти значения проверяются на соответствие указанным константам.
  3. Пользователю предлагается ввести элементы матрицы. Это происходит в двух вложенных циклах, которые перебирают строки и столбцы матрицы.
  4. В цикле вычисляется сумма положительных элементов в текущей строке.
  5. Инициализируются переменные sum, minsum и isum. Переменная sum используется для хранения текущей суммы положительных элементов, minsum - для хранения минимальной суммы, а isum - для хранения индекса строки с минимальной суммой.
  6. В цикле перебираются столбцы матрицы. Если элемент в текущем столбце положительный, то его значение добавляется к сумме.
  7. Если сумма в текущей строке меньше минимальной суммы, то обновляется значение переменных minsum и isum.
  8. По окончании цикла, в переменной jmax хранится индекс столбца с максимальным значением, а в переменной max - само это значение.
  9. В цикле перебираются строки матрицы. Если значение в текущей строке больше значения в строке с минимальной суммой (как хранится в переменной isum), то обновляется значение jmax и max.
  10. По окончании цикла, в переменной Writeln выводится сообщение с положением максимального элемента.
  11. Программа завершается с помощью команды Readln.

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


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

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

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