Необходимо написать программу сложения двух матриц произвольной размерности, предусмотреть проверку возможности сложения. Программа написана не верно, помогите исправить ошибки. type mass=array[1..10,1..10] of real; var a,b,c:m...

Необходимо написать программу сложения двух матриц произвольной размерности, предусмотреть проверку возможности сложения. Программа написана не верно, помогите исправить ошибки. 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.
Гость
Ответ(ы) на вопрос:
Гость
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])     end end; 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])     end end; 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.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы