Найти сумму элементов в тех строках матрицы, которые содержат хотя бы один отрицательный элемент - 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. Для каждой строки выполняется поиск отрицательного элемента в этой строке, начиная с первого элемента. Если такой элемент найден, то сумма элементов этой строки вычисляется и выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д