Chương trình sau đây thực hiện những gì?
program BT8;
const NMax = 50;
type Mass = array [1...NMax, O..NMax-1] of real;
var A: Mass;
i,j N: byte; C: real;
begin
Write (‘Nhap N= ?’);
readln(N); for i:= 1 to N do
for 0 to N-1 do
begin
write(‘A[i,j; readln(A[i,j ] )
end,
for i:= 1 to N do
Advertisements (Quảng cáo)
for j:= 1 to N-1 do
begin
C:= A[i,j];
A[i , j ] := A[N-i+1, j ]
A [N-i+1,j] := C;
end;
for i:=1 to N do begin
for j : =1 to N— 1 do write (A [ i, j ] : 5 : 2 , ‘ ‘);
writeln
end;
End.
Khi chạy chương trình, với N= 4 thì kết quả của chương trình như hình 67 dưới:
Chương trình thực hiện việc hoán đổi vị trí dòng thứ i với dòng thứ N-i+J, nghĩa là hoán đổi vị trí dòng đầu tiên với dòng cuối cùng của màng hai chiều, dòng thứ hai từ trên xuống với dòng thứ hai từ dưới lên.. Việc hoán đổi vị trí dòng thứ i với dòng đối xứng với nó được thực hiện khi i nhận giá trị từ 1 đến N, làm cho mỗi dòng được hoán đổi vị trí hai lần. Vì vậy, cuối cùng mảng A không thay đổi so với ban đầu.