Program S2;
Type
tab = array[1..20] Of string[20];
tab1 = array[1..20] Of integer;
Var
t : tab;
n,max : integer;
t1 : tab1;
//**************************************
Function verif( ch:String) : boolean;
Var
ok : boolean;
i : integer;
Begin
ok := true;
i := 1;
While (ok) And (i<=length(ch)) Do
Begin
If (ch[i] In ['A'..'Z',' ']) Then
i := i+1
Else
ok := false;
End;
verif := ok;
End;
//**************************************
Procedure maxvoyelle(n:integer;t:tab;Var t1:tab1;Var max:integer);
Var
i,j,nbvoyelle : integer;
Begin
For i:=1 To n Do
Begin
nbvoyelle := 0;
For j:=1 To length(t[i]) Do
If (t[i][j] In ['A','E','I','O','U','Y']) Then
nbvoyelle := nbvoyelle+1;
t1[i] := nbvoyelle;
End;
max := t1[1];
For i:=2 To n Do
If (t1[i]>max) Then
max := t1[i];
End;
//**************************************
Procedure saisie(Var t:tab; Var n:integer);
Var
i,j : integer;
Begin
Repeat
write('saisir la dimension du tableau: ');
readln(n);
Until (n In [5..20]);
For i:=1 To n Do
Repeat
write('T[',i,']: ');
readln(t[i]);
For j:=1 To length(t[i]) Do
t[i][j] := upcase(t[i][j]);
Until (length(t[i])>0) And
(length(t[i])<=20)And(verif(t[i]));
End;
//**************************************
Procedure affiche(n,max:integer;t:tab;t1:tab1);
Var
i : integer;
Begin
For i:=1 To n Do
If (T1[i]=max) Then
writeln(t[i]);
End;
//**************************************
Begin
saisie(t,n);
maxvoyelle(n,t,t1,max);
writeln;
writeln(max);
writeln;
affiche(n,max,t,t1);
End.
Inscription à :
Publier les commentaires (Atom)