Program Ex_14_30_s2;
uses wincrt;
Type
Tab=array[1..20]of string;
Var T:tab;
n,p:integer;
id,pw:string;
procedure saisie(var n,p:integer);
begin repeat
writeln('Donner le nombre de cartes P entre 1..10');
readln(p);
until p in [1..10];
repeat
writeln('Donner le nombre de tirages N entre 3..20 ');
readln(n);
until n in [4..19];
end;
procedure Tirage(n,p:integer;var t:tab);
var
i,j:integer;
ch:string;
begin
for i:=1 to n do begin ch:='';
for j:=1 to p do
ch:=ch+chr(ord(random(26)+65));
t[i]:=ch;
end;
writeln;
for i:=1 to n do write(t[i],' | ');
writeln;
end;
procedure lettres(n,p:integer;t:tab);
var
ch:array['A'..'Z'] of integer;
c,k,max,j:integer;
i:char;
begin max:=0;
for i :='A' to 'Z' do begin
c:=0;
for j:=1 to n do for k:=1 to p do
if t[j][k]=i then c:=c+1;
ch[i]:=c;
if c> max then max:=c;
end;
write('Les lettres porte-bonheur sont ');
for i :='A' to 'Z' do if ch[i]=max then write(i,' | ');
write('car elles les plus tirees(',max,') fois');
end;
begin
randomize;
saisie(n,p);
tirage(n,p,t);
lettres(n,p,t);
end.