Написать программу решения следующей : вычислить и запомнить количества и суммы отрицательных элементов каждого столбца матриц x(10,8), y(6,8)

veraway140 veraway140    3   16.06.2019 00:00    3

Ответы
SonyaPlaystation SonyaPlaystation  12.07.2020 22:29
Const
  mm = 10;
  nn = 8;

type
  M = array[1..mm, 1..nn] of integer;
  KS = array[1..2, 1..nn] of integer;

procedure GetKS(var a: M; var b: KS; m, n: integer);
{ Помещает в b[1,*] суммы отрицательных элементов массива а[m,n] по столбцам,
  а в b[2,*] - количества этих элементов }
var
  i, j, s, k: integer;
begin
  for j := 1 to n do
  begin
    k := 0; s := 0;
    for i := 1 to m do
      if a[i, j] < 0 then begin s := s + a[i, j]; Inc(k) end;
    b[1, j] := s; b[2, j] := k
  end
end;

procedure Init(var a: M; m, n: integer);
{ Заполняет массив a[m,n] случайными значениями на интервале [-50;50]
  и выводит их на экран }
var
  i, j: integer;
begin
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      a[i, j] := Random(101) - 50;
      Write(a[i, j]:5)
    end;
    Writeln
  end
end;

procedure OutKS(var a: KS; n: integer);
{ Выводит на экран элементы массива a[2,n]}
var
  i, j: integer;
begin
  for i := 1 to 2 do
  begin
    for j := 1 to n do Write(a[i, j]:5);
    Writeln
  end
end;

procedure Work(var a: M; var b: KS; m, n: integer);
{ цикл работы с массивом }
begin
  Init(a, m, n);
  GetKS(a, b, m, n);
  Writeln('Суммы и количество');
  OutKS(b, n);
end;

var
  X, Y: M;
  Z: KS;

begin
  Writeln('Массив Х');
  Work(X, Z, 10, 8);
  Writeln;
  Writeln('Массив Y');
  Work(Y, Z, 6, 8);
end.

Тестовое решение:
Массив Х
  -50   49    0   28   -8  -27   -4  -45
   10   10   10   27   17   15  -35   47
  -22  -42   21   40  -40   -4    1  -49
  -21   37    5  -34   26   10  -33  -26
    2   27   30  -46   -9   -2   33    2
   -3    6   -9  -38  -29  -18  -36   28
   -8   39  -16   49  -50   39  -37    5
   -2   -2   -2    6   18  -21  -20  -50
   -7  -15  -26   40   35  -40    5   31
  -25  -31   -8    4  -45  -11   31   48
Суммы и количество
 -138  -90  -61 -118 -181 -123 -165 -170
    8    4    5    3    6    7    6    4

Массив Y
   22   27   24   38  -24  -32  -26   13
   14  -25    6   44   50  -24   34  -33
  -24  -10   20   36  -43  -25   44  -19
  -17    4   23   31   -4    9   -1  -41
   17    1   34   42    6   -8   25  -26
  -40   11  -24   10    4   12   31   50
Суммы и количество
  -81  -35  -24    0  -71  -89  -27 -119
    3    2    1    0    3    4    2    4
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика