Найти ошибку в умножение двумерного массива.pas(29) : нельзя преобразовать тип integer к array [1..100] of array [1..100] of integer. вот сама программа: умножение матриц в обратном порядке, т.е первый элемент на последний, второй на предпоследний и.т.д. var x: integer; a1: array[1..100,1..100] of integer; a2: array[1..100,1..100] of integer; a3: array[1..100,1..100] of integer; i,j,m,n: integer; begin writeln('введите размер матрицы'); readln(m,n); for i: =1 to m do begin for j: =1 to n do end; begin writeln('введите элементы первой матрицы'); for i: =1 to m do begin for j: =1 to n do readln(a1[i,j]); end; end; begin writeln('введите элементы второй матрицы'); for i: =1 to m do begin for j: =1 to n do readln(a2[i,j]); end; end; begin a3: =a1[i,j]*a2[x+1-i,x+1-j]; for i: =1 to m do begin for j: =1 to n do readln(a3[i,j]); end; writeln; end; readln; end. заранее !

bezheveck bezheveck    1   30.06.2019 00:50    2

Ответы
Pacan4ikForever Pacan4ikForever  23.07.2020 19:24
Const
handsfree = true;

type
mas100_100 = array[1..100, 1..100] of integer;

var
a1, a2, a3: mas100_100;
i, j, m, n: integer;

procedure InitializeMatrix(var a: mas100_100; m, n: integer);
var
i, j: integer;
begin
writeln('Данные матрицы');
for i := 1 to m do 
begin
for j := 1 to n do
if handsfree then begin
a[i, j] := random(30);
write(a[i, j]:2, ' ')
end
else
read(a[i, j]);
writeln;
end;
end;

begin
writeln('Введите размер матриц');
readln(m, n);

InitializeMatrix(a1, m, n);
InitializeMatrix(a2, m, n);

writeln('Вывод результата');
for i := 1 to m do 
begin
for j := 1 to n do 
begin
a3[i, j] := a1[i, j] * a2[m + 1 - i, n + 1 - j];
write(a3[i, j], ' ');
end;
writeln;
end;

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