program puiss_mat;
const LONG=3;
type mat_int = array [1..LONG,1..LONG] of integer;
procedure saisie(var A : mat_int);
var i,j : integer;
begin
writeln('Saisie d une matrice carree de taille ',LONG,' :');
for i:=1 to LONG do
begin
writeln('entree de la ligne numero ',i,' :');
for j:=1 to LONG do readln(A[i,j]);
end;
end;
procedure visu(A : mat_int);
var i,j : integer;
begin
for i:=1 to LONG do
begin
write('[ ');
for j:=1 to LONG-1 do write(A[i,j],' , ');
writeln(A[i,LONG],' ]')
end;
end;
procedure mult(A : mat_int;B:mat_int;var C:mat_int);
var i,j,k,tmp : integer;
begin
end;
procedure mat_id(var Id: mat_int);
var i,j : integer;
begin
end;
procedure puiss_naive(A : mat_int;n:integer;var R:mat_int);
var k : integer;
begin
end;
function pair(n : integer):boolean;
begin
if (n mod 2=0) then pair:=true else pair:=false
end;
procedure puiss_dicho(A : mat_int;n:integer;var R:mat_int);
var k : integer;
puiss,res : mat_int;
begin
end;
var A,B,C,I:mat_int;
BEGIN
writeln('saisie de A');
saisie(A);
visu(A);
readln;
writeln('saisie de B');
saisie(B);
visu(B);
readln;
writeln('C=A*B:');
mult(A,B,C);
visu(C);
readln;
writeln('matrice id :');
mat_id(I);
visu(I);
readln;
writeln('puissance naive');
puiss_naive(A,7,C);
visu(C);
readln;
writeln('puissance dicho');
puiss_dicho(A,7,C);
visu(C);
readln;
END.