Параметр цикла for в PascalABC.NET должен описываться в заголовке цикла type

matrix = array of array of integer;

arr = array of integer;

procedure matr2(c: char; var x: matrix; var m, n: integer);

var

i, j: integer;

begin

writeln('Введите количество строк в матрице ' + c + ': ');

readln(m);

writeln('Введите количество столбцов в матрице ' + c + ': ');

readln(n);

SetLength(x, m);

writeln('Матрица ', c, ':');

for i := 0 to m-1 do

begin

SetLength(x[i], n);

for j := 0 to n-1 do

begin

x[i, j] := -99 + random(199);

write(x[i, j]:4)

end;

writeln

end

end;

procedure el(const x: matrix; const m, n: integer; var y: arr);

var

i, j: integer;

begin

for j := 1 to n do y[j] := 0;// Предупреждение здесь!

for i := 1 to m do

for j := 1 to n do

if x[i, j] < 0 then inc(y[j])

end;

procedure poell(var y: arr; const n: integer);

var

j: integer;

begin

writeln('Количество отрицательных элементов по столбцам:');

for j := 1 to n do write(y[j]:4);

writeln;

writeln

end;

var

a, b: matrix;

c, d: arr;

i, j, k, e,m, n :integer;

begin

randomize;

matr2('A', a, i, j);

el(a, i, j, c);

poell(c, j);

matr2('B', b, k, e);

el(b, k, e, d);

poell(d, e);

readln;

end.

Что нужно изменить в программе чтобы она работала правильно?

Victoria195 Victoria195    2   22.05.2021 15:01    0

Ответы
annapupnova annapupnova  21.06.2021 15:05

Объяснение:

type

   matrix = array of array of integer;

   arr = array of integer;

procedure matr2(c: char; var x: matrix; var m, n: integer);

var

  i, j: integer;

begin

    writeln('Введите количество строк в матрице ' + c + ': ');

    readln(m);

    writeln('Введите количество столбцов в матрице ' + c + ': ');

    readln(n);

    SetLength(x, m);

    writeln('Матрица ', c, ':');

    for i := 0 to m-1 do

    begin

         SetLength(x[i], n);

         for j := 0 to n-1 do

             begin

                  x[i, j] := -99 + random(199);

                  write(x[i, j]:4);

             end;

             writeln;

    end;

    writeln;

end;

procedure el(const x: matrix; const m, n: integer; var y: arr);

var

i, j: integer;

begin

    SetLength(y, n);

    for j := 0 to n-1 do y[j] := 0;

    for i := 0 to m -1  do

       for j := 0 to n - 1 do

           if x[i, j] < 0 then inc(y[j]);

end;

procedure poell(var y: arr; const n: integer);

var

   j: integer;

begin

    writeln('Количество отрицательных элементов по столбцам:');

    for j := 0 to n - 1 do write(y[j]:4);

    writeln;

end;

var

  a, b: matrix;

  c, d: arr;

  m, n: integer;

begin

    randomize;

    matr2('A', a, m, n);

    el(a, m, n, c);

    poell(c, n);

    matr2('B', b, m, n);

    el(b, m, n, d);

    poell(d, n);

    readln();

end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика