Найти сумму элементов в тех строках матрицы, которые содержат хотя бы один отрицательный элемент - Free Pascal (178)
Формулировка задачи:
Не могли бы вы помочь с этим делом? Завтра сдавать, а ничего не идет
1. Для заданной матрицы размером 8x8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом.
2. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
Оформить решения задач с помощью процедур и/или функций
(При решении задач не использовать глобальные переменные)
Решение задачи: «Найти сумму элементов в тех строках матрицы, которые содержат хотя бы один отрицательный элемент»
textual
Листинг программы
const n=8; type TMatrix=array [1..n,1..n] of Integer; procedure ShowEqRC(const a: TMatrix); var i, k: Integer; begin Write('Совпадающие строки/столбцы:'); for k:=1 to n do begin i:=n; while (i>0) and (a[k,i]=a[i,k]) do Dec(i); if i=0 then Write(' ',k); end; WriteLn; end; procedure SumRN(const a: TMatrix); var i, j, m, s: Integer; begin WriteLn('Суммы строк с отрицительным элементом:'); for i:=1 to n do begin m:=0; s:=0; for j:=1 to n do begin if m>a[i,j] then m:=a[i,j]; s:=s+a[i,j]; end; if m<0 then WriteLn(i,': ',s); end; end; var i, j: Integer; a: TMatrix; begin WriteLn('Введите матрицу ',n,'x',n,':'); for i:=1 to n do for j:=1 to n do Read(a[i,j]); WriteLn('A ='); for i:=1 to n do begin for j:=1 to n do Write(a[i,j]:6); WriteLn; end; ShowEqRC(a); SumRN(a); end.
Объяснение кода листинга программы
- Введенная матрица имеет размерность n x n, где n = 8.
- Матрица представлена в виде двумерного массива a размером [1..n,1..n] типа Integer.
- Ввод матрицы происходит в цикле, где пользователю предлагается ввести элемент за раз.
- Цикл вывода матрицы выводит все элементы матрицы a, расположенные в виде таблицы, размерность которой определяется n.
- Вывод совпадающих строк и столбцов матрицы происходит в цикле, который проходит по каждому столбцу матрицы k. Для каждого столбца выполняется поиск строки, которая совпадает с текущим столбцом, начиная с первой строки. Если такая строка найдена, то ее номер выводится на экран.
- Сумма элементов строки, содержащей хотя бы один отрицательный элемент, вычисляется в цикле, который проходит по каждой строке матрицы i. Для каждой строки выполняется поиск отрицательного элемента в этой строке, начиная с первого элемента. Если такой элемент найден, то сумма элементов этой строки вычисляется и выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д