Программка на Pascal'e ABC. Помогите пожалуйста, завтра сдавать.
Здравствуйте, на картинке собственно само условие, что нужно сделать. Нужно получить новую матрицу B из матрицы A путем перестановки элементов как показано на схемах.. Мучаюсь сижу весь день, завтра сдавать. Помогите пожалуйста. Вот что я написал для пункта а. Взял матрицу 2х2, чтобы было легче проверить правильность программы..
Program matrix;
Const m=2;
Var i,j,k,y:integer;
A,B:array[1..m,1..m]of integer;
Begin
for i:=1 to m do begin
for j:=1 to m do begin
A[i,j]:=10-random(20);
write('A[',i,',',j,']=',A[i,j],' ');
end;
writeln;
end;
write('-------------------------------------------------------------------------------------------------');
writeln;
for i:=1 to m do begin
for j:=1 to m do begin
if (i<j) or (j=1) and(i>1) then begin
y:=A[i,j];
A[i,j]:=A[i+1,j-1];
A[i+1,j-1]:=y;
end;
if (i=j) or (i>j) and (i>1) then begin
y:=A[i,j];
A[i,j]:=A[i+1,j+1];
A[i+1,j+1]:=y;
end;
B[i,j]:=A[i,j];
write('B[',i,',',j,']=',B[i,j],' ');
end;
writeln;
end;
end.
//Вроде как бы меняет элементы, но проблема заключается в том что используя A[i+1,j+1]; я выхожу за границу матрицы..
Здравствуйте, на картинке собственно само условие, что нужно сделать. Нужно получить новую матрицу B из матрицы A путем перестановки элементов как показано на схемах.. Мучаюсь сижу весь день, завтра сдавать. Помогите пожалуйста. Вот что я написал для пункта а. Взял матрицу 2х2, чтобы было легче проверить правильность программы..Program matrix;
Const m=2;
Var i,j,k,y:integer;
A,B:array[1..m,1..m]of integer;
Begin
for i:=1 to m do begin
for j:=1 to m do begin
A[i,j]:=10-random(20);
write('A[',i,',',j,']=',A[i,j],' ');
end;
writeln;
end;
write('-------------------------------------------------------------------------------------------------');
writeln;
for i:=1 to m do begin
for j:=1 to m do begin
if (i<j) or (j=1) and(i>1) then begin
y:=A[i,j];
A[i,j]:=A[i+1,j-1];
A[i+1,j-1]:=y;
end;
if (i=j) or (i>j) and (i>1) then begin
y:=A[i,j];
A[i,j]:=A[i+1,j+1];
A[i+1,j+1]:=y;
end;
B[i,j]:=A[i,j];
write('B[',i,',',j,']=',B[i,j],' ');
end;
writeln;
end;
end.
//Вроде как бы меняет элементы, но проблема заключается в том что используя A[i+1,j+1]; я выхожу за границу матрицы..