• Необходимо написать программу сложения двух матриц произвольной размерности, предусмотреть проверку возможности сложения. Программа написана не верно, помогите исправить ошибки.
    type mass=array[1..10,1..10] of real;
    var
    a,b,c:mass;
    n,m,i,j,n1,m1:integer;
    procedure MatrA (var a:mass);
    var
    n,m,i,j:integer;
    begin
    for i:=1 to n do
    for j:=1 to m do
    writeln('a[',i,',',j,']: ');
    readln(a[i,j]);
    end;
    procedure MatrB (var b:mass);
    var
    i,j,n1,m1:integer;
    begin
    for i:=1 to n1 do
    for j:=1 to m1 do
    writeln('b[',i,',',j,']: ');
    readln(b[i,j]);
    end;
    procedure Sum(a,b,c:mass);
    var
    i,j,n,m:integer;
    begin
    for i:=1 to n do
    for j:=1 to m do
    c[i,j]:=a[i,j]+b[i,j];
    end;
    begin
    writeln('Введите n,m матрицы A');
    readln(n,m);
    MatrA(a);
    writeln('Введите n,m матрицы B');
    readln(n1,m1);
    MatrB(b);
    if (n1<>n) and (m1<>m) then
    writeln('Матрицы сложить нельзя');
    readln;
    Sum(a,b,c);
    writeln('A+B');
    for i:=1 to n do
    begin
    for j:=1 to m do
    write(c[i,j]:1:3, ' ');
    writeln;
    end;
    readln;
    end.

Ответы 1

  • type  mass = array[1..10, 1..10] of real;var  a, b, c: mass;  n, m, i, j, n1, m1: integer;procedure MatrA(var a: mass);var  i, j: integer;begin  for i := 1 to n do    for j := 1 to m do     begin      writeln('a[', i, ',', j, ']: ');      readln(a[i, j])    endend;procedure MatrB(var b: mass);var  i, j: integer;begin  for i := 1 to n1 do    for j := 1 to m1 do     begin      writeln('b[', i, ',', j, ']: ');      readln(b[i, j])    endend;procedure Sum(a, b: mass; var c: mass);var  i, j: integer;begin  for i := 1 to n do    for j := 1 to m do      c[i, j] := a[i, j] + b[i, j];end;begin  writeln('Введите n,m матрицы A');  readln(n, m);  MatrA(a);  writeln('Введите n,m матрицы B');  readln(n1, m1);  MatrB(b);  if (n1 <> n) and (m1 <> m) then    writeln('Матрицы сложить нельзя')  else begin    Sum(a, b, c);    writeln('A+B');    for i := 1 to n do     begin      for j := 1 to m do        write(c[i, j]:1:3, ' ');      writeln    end  end;  readln;end.
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years