Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program bac;
- uses crt;
- type mat=array[1..99,1..99] of integer;
- var m:mat; n:integer;
- result:text;
- function premier (x:integer):boolean;
- var test:boolean; i:integer;
- Begin
- test:=true; i:=2;
- Repeat
- if x mod i = 0 then
- test:=false
- else i:=i+1;
- Until(test=false) or (i> x div 2 )
- end;
- Procedure afficher (m:mat;n:integer);
- var i,j:integer;
- Begin
- for i:=1 to n do
- begin
- for j:=1 to n do
- begin
- write(m[i,j],' ');
- end;
- writeln;
- end;
- end;
- Procedure Remplir(var m:mat ; var n:integer);
- var i,j:integer;
- begin
- write('Donner la taille du matrice : ');
- readln(n);
- for i:=1 to n do
- begin
- for j:=1 to n do
- Begin
- Repeat
- write('Donner un entier premier : ');
- Readln(m[i,j]);
- Until(m[i,j] in [2..99]) and (premier(m[i,j]));
- End;
- end;
- afficher(m,n);
- End;
- Function decroissant (m:mat;L:integer;n:integer):boolean;
- var test:boolean;c:integer;
- begin
- test:=true;
- for C:=1 to (n-1) do
- begin
- if m[L,C]<m[L,C+1] then
- test:=false;
- end;
- decroissant:=test;
- end;
- Function croissant (m:mat;L:integer;n:integer):boolean;
- var test:boolean;c:integer;
- begin
- test:=true;
- for C:=1 to (n-1) do
- begin
- if m[L,C]>m[L,C+1] then
- test:=false;
- end;
- croissant:=test;
- end;
- Procedure RemplirL(var f:text; m:mat;n:integer);
- var l,i:integer; ch,chi,chl:string;
- begin
- For L:=1 to n do
- Begin
- if (decroissant(m,L,n)) or (croissant(m,L,n)) then
- begin
- for i:=1 to n do
- begin
- str(m[L,i],chi);
- ch:=ch+chi+' - ';
- end;
- str(L,chl);
- delete(ch,length(ch)-2,3);
- ch:='L'+chl+'*'+ch;
- writeln(f,ch);
- writeln(ch);
- ch:='';
- end;
- end;
- end;
- Function decroissant1 (m:mat;C:integer;n:integer):boolean;
- var test:boolean;l:integer;
- begin
- test:=true;
- for L:=1 to (n-1) do
- begin
- if m[L,C]<m[L+1,C] then
- test:=false;
- end;
- decroissant1:=test;
- end;
- Function croissant1 (m:mat;C:integer;n:integer):boolean;
- var test:boolean;l:integer;
- begin
- test:=true;
- for L:=1 to (n-1) do
- begin
- if m[L,C]>m[L+1,C] then
- test:=false;
- end;
- croissant1:=test;
- end;
- Procedure RemplirC(var f:text; m:mat;n:integer);
- var C,i:integer; ch,chi,chl:string;
- begin
- For C:=1 to n do
- Begin
- if decroissant1(m,C,n) or croissant1(m,C,n) then
- begin
- for i:=1 to n do
- begin
- str(m[i,c],chi);
- ch:=ch+chi+' - ';
- end;
- str(C,chl);
- delete(ch,length(ch)-2,3);
- ch:='C'+chl+'*'+ch;
- writeln(ch);
- writeln(f,ch);
- ch:='';
- end;
- end;
- end;
- Begin
- Assign(result,'result.txt');
- rewrite(result);
- Remplir(m,n);
- RemplirL(result,m,n);
- RemplirC(result,m,n);
- close(result);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement