Найти количество и сумму частей 3 столбца матрицы: 2 1

Определить количество и сумму элементов 3 столбца матрицы:
2 1 -1 4
-3 1 -4 1
С= 2 1 2 3 удовлетворяющих условию IСi3Ilt;=3
2 2 5 4
-3 -1 -3 1

Через процедуры, если можно

Задать свой вопрос
1 ответ
1. Вариант современного решения на современной версии языка Паскаль

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программка не работает, обновите версию!

begin
  var a:array[,] of integer:=(
      ( 2, 1,-1, 4),
      (-3, 1,-4, 1),
      ( 2, 1, 2, 3),
      ( 2, 2, 5, 4),
      (-3,-1,-3, 1));
  Writeln('*** Начальная матрица ***');
  a.Println(3); Writeln(3*a.ColCount*'-');
  var s:=a.Col(2).Where(x-gt;Абс(x)lt;=3);
  Writeln('Частей ',s.Count,', их сумма одинакова ',s.Sum)
end.

Результат
*** Исходная матрица ***
  2  1 -1  4
 -3  1 -4  1
  2  1  2  3
  2  2  5  4
 -3 -1 -3  1
------------
Частей 3, их сумма одинакова -2

2. Вариант решения "Так писали наши дедушки и так нас учат в школе"

const
  m=5;
  n=4;
  a:array[1..m,1..n] of integer=(
      ( 2, 1,-1, 4),
      (-3, 1,-4, 1),
      ( 2, 1, 2, 3),
      ( 2, 2, 5, 4),
      (-3,-1,-3, 1));

procedure SumCol(m,k:integer; var p,s:integer);
  var
    i:integer;
  begin
    s:=0; p:=0;
    for i:=1 to m do
      if Abs(a[i,k])lt;=3 then begin
        s:=s+a[i,k];
        p:=p+1
        end
  end;

var
  i,j,kol,sum:integer;
 
begin
  Writeln('*** Начальная матрица ***');
  for i:=1 to m do begin
    for j:=1 to n do Write(a[i,j]:3);
    Writeln
    end;
  for i:=1 to n do Write('---');
  Writeln;
  SumCol(m,3,kol,sum);
  Writeln('Частей ',kol,', их сумма одинакова ',sum)
end.

Итог
*** Начальная матрица ***
  2  1 -1  4
 -3  1 -4  1
  2  1  2  3
  2  2  5  4
 -3 -1 -3  1
------------
Частей 3, их сумма одинакова -2
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт