Найти сумму элементов в тех строках матрицы, которые содержат хотя бы один отрицательный элемент - 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.

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

  1. Введенная матрица имеет размерность n x n, где n = 8.
  2. Матрица представлена в виде двумерного массива a размером [1..n,1..n] типа Integer.
  3. Ввод матрицы происходит в цикле, где пользователю предлагается ввести элемент за раз.
  4. Цикл вывода матрицы выводит все элементы матрицы a, расположенные в виде таблицы, размерность которой определяется n.
  5. Вывод совпадающих строк и столбцов матрицы происходит в цикле, который проходит по каждому столбцу матрицы k. Для каждого столбца выполняется поиск строки, которая совпадает с текущим столбцом, начиная с первой строки. Если такая строка найдена, то ее номер выводится на экран.
  6. Сумма элементов строки, содержащей хотя бы один отрицательный элемент, вычисляется в цикле, который проходит по каждой строке матрицы i. Для каждой строки выполняется поиск отрицательного элемента в этой строке, начиная с первого элемента. Если такой элемент найден, то сумма элементов этой строки вычисляется и выводится на экран.

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


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

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

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