Сформировать массив так, чтобы сначала располагались m1 столбцов массива x, затем m2 столбцов массива y - Turbo Pascal

Формулировка задачи:

Доброго времени суток. Написал программу, но не могу понять где ошибся. Программа работает наполовину правильно. Дано два двумерных массива х(nm1) ,y(nm2). Cформировать массив z(n(m1+m2)), таким об¬разом чтобы сначала располагались m1 столбцов массива x, затем m2 столбцов массива y. Заранее спасибо. Ошибка где то с 35 по 40 строку
program c7;
uses crt;
const n=2;m1=2;m2=2;
var x:array[1..n,1..m1] of real;
y:array[1..n,1..m2] of real;
z:array[1..n,1..m1+m2] of real;
k,i,j,l:integer;
begin
 for i:=1 to n do
 begin
 for j:=1 to m1 do
 begin
 x[i,j]:=random(11)-5;
 write(x[i,j]:4:0);
 end;
writeln;
end;
writeln(' ');
for i:=1 to n do
begin
for k:=1 to m2 do
begin
y[i,k]:=random(11)-5;
write(y[i,k]:4:0);
end;
writeln;
end;
for i:=1 to n do
begin
for j:=1 to m1 do
begin
z[i,j]:=x[i,j];
end;
end;
for i:=1 to n do
begin
for j:=m1+1 to m1+m2 do
begin
for k:=1+m2 to m2  do
begin
z[i,j]:=y[i,k];
end;
end;
end;
for i:=1 to n do
begin
for j:=1 to m1+m2 do
begin
write(z[i,j],'  ');
end;
writeln;
end;
end.

Код к задаче: «Сформировать массив так, чтобы сначала располагались m1 столбцов массива x, затем m2 столбцов массива y - Turbo Pascal»

textual
program c7;
uses crt;
const n=2;m1=2;m2=2;
var x:array[1..n,1..m1] of real;
y:array[1..n,1..m2] of real;
z:array[1..n,1..m1+m2] of real;
k,i,j,l:integer;
begin
 clrscr;randomize;
 for i:=1 to n do
 begin
 for j:=1 to m1 do
 begin
 x[i,j]:=random*11-5;
 write(x[i,j]:8:4);
 end;
writeln;
end;
writeln(' ');
for i:=1 to n do
begin
for k:=1 to m2 do
begin
y[i,k]:=random*11-5;
write(y[i,k]:8:4);
end;
writeln;
end;
for i:=1 to n do
begin
for j:=1 to m1 do
begin
z[i,j]:=x[i,j];
end;
end;
for i:=1 to n do
begin
for j:=m1+1 to m1+m2 do
begin
z[i,j]:=y[i,j-m1];
end;
end;
writeln;
for i:=1 to n do
begin
for j:=1 to m1+m2 do
begin
write(z[i,j]:8:4,'  ');
end;
writeln;
end;
readln;
end.

5   голосов, оценка 4.600 из 5


СОХРАНИТЬ ССЫЛКУ