Определить положение максимального элемента в строке матрицы имеющий минимальную сумму положительных элементов - 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.
Объяснение кода листинга программы
- Создается матрица A размером nmax x mmax, где nmax и mmax - это константы, определяющие максимально допустимые значения для n и m соответственно.
- Пользователю предлагается ввести количество строк и столбцов матрицы. Эти значения проверяются на соответствие указанным константам.
- Пользователю предлагается ввести элементы матрицы. Это происходит в двух вложенных циклах, которые перебирают строки и столбцы матрицы.
- В цикле вычисляется сумма положительных элементов в текущей строке.
- Инициализируются переменные sum, minsum и isum. Переменная sum используется для хранения текущей суммы положительных элементов, minsum - для хранения минимальной суммы, а isum - для хранения индекса строки с минимальной суммой.
- В цикле перебираются столбцы матрицы. Если элемент в текущем столбце положительный, то его значение добавляется к сумме.
- Если сумма в текущей строке меньше минимальной суммы, то обновляется значение переменных minsum и isum.
- По окончании цикла, в переменной jmax хранится индекс столбца с максимальным значением, а в переменной max - само это значение.
- В цикле перебираются строки матрицы. Если значение в текущей строке больше значения в строке с минимальной суммой (как хранится в переменной isum), то обновляется значение jmax и max.
- По окончании цикла, в переменной Writeln выводится сообщение с положением максимального элемента.
- Программа завершается с помощью команды Readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д