You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
839 B
47 lines
839 B
let
|
|
type Vector ~ array 3 of Integer;
|
|
type Matrix ~ array 3 of Vector;
|
|
|
|
proc putvector (v: Vector) ~
|
|
let var i: Integer
|
|
in
|
|
begin
|
|
put ('['); putint (v[0]);
|
|
i := 1;
|
|
while i < 3 do
|
|
begin
|
|
put (' '); putint (v[i]);
|
|
i := i+1
|
|
end;
|
|
put (']')
|
|
end;
|
|
|
|
proc putmatrix (m: Matrix) ~
|
|
let var i: Integer
|
|
in
|
|
begin
|
|
i := 0;
|
|
while i < 3 do
|
|
begin
|
|
putvector (m[i]);
|
|
puteol ();
|
|
i := i+1
|
|
end
|
|
end;
|
|
|
|
func diagonal
|
|
(m: Matrix): Vector ~
|
|
[m[0][0], m[1][1], m[2][2]];
|
|
|
|
var me: Matrix
|
|
|
|
in
|
|
begin
|
|
me := [[1,2,3], [4,5,6], [7,8,9]];
|
|
putmatrix (me); puteol ();
|
|
putvector (diagonal (me));
|
|
puteol (); puteol ();
|
|
me[1] := [10,11,12];
|
|
me[1][1] := 22;
|
|
putmatrix (me); puteol ()
|
|
end
|
|
|