USES Crt ;
VAR
dim : integer ; { dimension de la matrice }
i,j : integer ; { compteurs }
Mat : Array[1..24,1..24] of integer ;
Tmp : integer ;
PROCEDURE Initialiser ;
Begin
For i:=1 to dim do For j:=1 to dim do mat[i,j]:=0
End;
FUNCTION ChiffreAlea : integer ;
Begin
ChiffreAlea:=Random(19)-9 ;
End;
PROCEDURE Scalaire ;
Begin
Tmp:=ChiffreAlea ;
For i:=1 to dim do Mat[i,i]:=Tmp;
End;
PROCEDURE Diag1 ;
Begin
For i:=1 to dim do Mat[i,i]:=ChiffreAlea ;
End;
PROCEDURE Diag2 ;
Begin
For i:=1 to dim do Mat[i,dim+1-i]:=ChiffreAlea ;
End;
PROCEDURE TriangS ;
Begin
For j:=1 to dim do For i:=1 to j do Mat[i,j]:=ChiffreAlea ;
End;
PROCEDURE TriangI ;
Begin
For i:=dim DownTo 1 do For j:=1 to i do Mat[i,j]:=ChiffreAlea ;
End;
PROCEDURE Quelconque ;
Begin
For i:=1 to dim do For j:=1 to dim do Mat[i,j]:=ChiffreAlea ;
End;
PROCEDURE Afficher;
Begin
For i:=1 to dim do
Begin
For j:=1 to dim do Write(mat[i,j]:3);
Writeln;
End;
End;
BEGIN
ClrScr;
Randomize;
(* saisir les parametres *)
Writeln('Quelle est la dimension de votre matrice ?');
Readln(dim);
If dim>24 then dim:=24;
ClrScr;
Writeln('Quelle forme pour votre matrice ?');
Writeln('[1] Scalaire');
Writeln('[2] PremiŠre diagonale');
Writeln('[3] DeuxiŠme diagonale');
Writeln('[4] Triangulaire sup');
Writeln('[5] Triandgulaire inf');
Writeln('[6] Quelconque');
Readln(Tmp);
Initialiser;
(* construire la matrice *)
Case Tmp of
1: Scalaire;
2: Diag1;
3: Diag2;
4: TriangS;
5: TriangI;
6: Quelconque;
End;
Afficher;
Readln;
End.
(********************)