Получил от преподавателя вторую программу обратно с таким комментарием:
PHP код:
Type
Matr=Array[1..5,1..5] of Integer;
Var
A,B:Matr;
p,q:Integer;
Procedure Izmena(N,s1,s2:Integer; Var C:Matr);
var
V:Array[1..5] of Integer; // вот этот массив вообще не нужен и он зависим
j:integer; // от реальных размеров матриц - это плохо
begin
for j:=1 to N do V[j]:=C[s1,j]; // здесь просто в ОДНОМ цикле через ОДНУ
for j:=1 to N do C[s1,j]:=C[s2,j]; // вспомогат.переменную меняются
for j:=1 to N do C[s2,j]:=V[j]; // все элементы строк.
end;
Begin
Writeln('Исходная матрица А:');
for p:=1 to 3 do
begin
for q:=1 to 4 do
begin
A[1,1]:=3; A[1,2]:=2; A[1,3]:=4; A[1,4]:=1;
A[2,1]:=5; A[2,2]:=2; A[2,3]:=3; A[2,4]:=1;
A[3,1]:=6; A[3,2]:=4; A[3,3]:=5; A[3,4]:=1;
Write(A[p,q]:3);
end;
writeln;
end;
writeln;
Writeln('Исходная матрица В:');
for p:=1 to 5 do
begin
for q:=1 to 5 do
begin
B[1,1]:=3; B[1,2]:=2; B[1,3]:=5; B[1,4]:=1; B[1,5]:=7;
B[2,1]:=9; B[2,2]:=1; B[2,3]:=2; B[2,4]:=6; B[2,5]:=5;
B[3,1]:=1; B[3,2]:=8; B[3,3]:=4; B[3,4]:=7; B[3,5]:=1;
B[4,1]:=2; B[4,2]:=0; B[4,3]:=9; B[4,4]:=3; B[4,5]:=5;
B[5,1]:=7; B[5,2]:=2; B[5,3]:=3; B[5,4]:=1; B[5,5]:=4;
Write(B[p,q]:3);
end;
writeln;
end;
writeln;
Izmena(4,2,3,A);
Izmena(5,2,4,B);
Writeln('Меняем строки');
Writeln;
Writeln('Измененная матрица А:');
for p:=1 to 3 do
begin
for q:=1 to 4 do Write(A[p,q]:3);
writeln;
end;
writeln;
Writeln('Измененная матрица В:');
for p:=1 to 5 do
begin
for q:=1 to 5 do Write(B[p,q]:3);
writeln;
end;
End.
Пробовал через одну переменную сделать, не получилось(
P.S. немного изменил программу...