program EXISTANTE;
uses wincrt;
type
tab=array[1..10] of string;
var t:tab;
i,n:integer;
ch:string;
function verif(ch:string):boolean;
var
test:boolean;
j:integer;
begin j:=0;
repeat inc(j);
test:= ch[j] in ['A'..'Z'];
until (j=length(ch)) or (test=false);
verif:=test;
end;
procedure saisie(var t:tab; var n:integer; var ch:string);
begin repeat
writeln('Donner n entre 5 et 10 :');
readln(n);
until n in [5..10];
repeat
writeln('Donner une chaine AlphaMaj de longueur ',n);
readln(ch);
until (verif(ch)) and (length(ch)=n);
for i:=1 to n do repeat
writeln('Donner la chaine ',i,' de lettres Maj de longueur ', n);
readln(t[i]);
until (length(t[i])=n) and (verif(t[i]));
end;
function format (t:tab;n,p:integer):string;
var
j:integer;
chh:string;
begin chh:='';
for j:=1 to n do chh:=chh+t[J][p];
format:=chh;
end;
procedure Affiche(t:tab;n:integer;ch:string);
var
exist:boolean;
begin
exist:=false;
i:=0;
repeat inc(i);
exist:=ch=format(t,n,i);
until (exist) or (i=n);
if exist then
writeln('Chaine existante dans T') else
writeln('Chaine inexistante dans T');
end;
begin
saisie(t,n,ch);
affiche(t,n,ch);
end.