Si consideri il seguente programma:
Program main(Output); Const DMAX = 5; Type TMAT = Array[1..DMAX, 1..DMAX] Of Integer; TVET = Array[1..DMAX] Of Integer; Var M: TMAT; I: Integer; Procedure ES2(Var M: TMAT; R, C: Integer); Var I, K: Integer; V: TVET; Begin For I:=1 To R Do V[I]:= M[I,1]; For I:=1 To C-1 Do For K:=1 To R Do M[K, I]:=M[K, I+1]; For I:=1 To R Do M[I, C]:=V[I]; End; Begin M[1, 1]:=1; M[1, 2]:=2; M[1, 3]:=3; M[1, 4]:=4; M[1, 5]:=5; M[2, 1]:=1; M[2, 2]:=2; M[2, 3]:=3; M[2, 4]:=4; M[2, 5]:=5; M[3, 1]:=1; M[3, 2]:=2; M[3, 3]:=3; M[3, 4]:=4; M[3, 5]:=5; M[4, 1]:=1; M[4, 2]:=2; M[4, 3]:=3; M[4, 4]:=4; M[4, 5]:=5; M[5, 1]:=1; M[5, 2]:=2; M[5, 3]:=3; M[5, 4]:=4; M[5, 5]:=5; For I:=1 To 3 Do ES2(M, 5, 5); End.
La matrice M inizialmente contiene tutti 1 nella prima colonna, tutti 2 nella seconda colonna e così via. Indicare il contenuto della matrice M al termine del programma.
Risposte:
- 4 5 1 2 3
4 5 1 2 3
4 5 1 2 3
4 5 1 2 3
4 5 1 2 3 - 1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5 - 5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1 - 1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5