Необходимо написать программу сложения двух матриц произвольной размерности, предусмотреть проверку возможности сложения. программа написана не верно, исправить ошибки. 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.

beregnoy2017 beregnoy2017    2   09.07.2019 03:00    0

Ответы
sasulencijaozq7jr sasulencijaozq7jr  16.09.2020 20:57
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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика