(* squares a matrix *) (* testing arrays *) PROGRAM IS VAR SIZE := 5; I,J,K := 0; CELL := 0; TYPE INT1D IS ARRAY OF INTEGER; TYPE INT2D IS ARRAY OF INT1D; TYPE INT3D IS ARRAY OF INT2D; VAR B := INT1D { SIZE OF 0 }; VAR C := INT2D { SIZE OF INT1D { SIZE OF 0 } }; VAR D := INT2D { SIZE OF INT1D { SIZE OF 0 } }; BEGIN FOR I:=0 TO SIZE-1 DO C[I][I]:= I+1; END; FOR I:=0 TO SIZE-1 DO FOR J:=0 TO SIZE-1 DO CELL:=0; FOR K:=0 TO SIZE-1 DO CELL := CELL + C[I][K]*C[K][J]; END; D[I][J] := CELL; END; END; WRITE("Input matrix"); FOR I:=0 TO SIZE-1 DO WRITE(C[I][0]," ",C[I][1]," ",C[I][2]," ",C[I][3]," ",C[I][4]); END; WRITE(); WRITE("Input matrix squared"); FOR I:=0 TO SIZE-1 DO WRITE(D[I][0]," ",D[I][1]," ",D[I][2]," ",D[I][3]," ",D[I][4]); END; END;