Program S5;
Type
tab = array[1..30] Of string[5];
Var
t : tab;
n : integer;
//************************************
procedure saisie (var n: integer);
Begin
write('Veuillez saisir le nombre d''élement du tableau: ');
readln(n);
End;
//************************************
Procedure remplire(Var tab;Var n:integer);
Var
i : integer;
Begin
Repeat
saisie(n);
Until (n In [2..30]);
For i:=1 To n Do
Begin
Repeat
write('donner l''element n°',i,': ');
readln(t[i]);
Until (length(t[i])<=5);
End;
End;
//************************************
Procedure affichage(t:tab;n:integer);
Var
i : integer;
Begin
For i:=1 To n Do
writeln('t[',i,']= ',t[i]);
End;
//************************************
Procedure elimine(Var t:tab;n:integer);
Var
i,j : integer;
ch : string[5];
Begin
For i:=1 To n Do
Begin
ch := t[i];
j := 1;
While j<=length(ch) Do
Begin
If ch[j] In ['a'..'z','A'..'Z'] Then
j := j+1
Else
delete(ch,j,1);
End;
t[i] := ch;
End;
End;
//************************************
Procedure conv_maj(Var t:tab;n:integer);
Var
i,j : integer;
ch : string[5];
Begin
ch := '';
For i:=1 To n Do
Begin
ch := t[i];
For j:=1 To length(ch) Do
If ch[j] In ['a'..'z'] Then
ch[j] := upcase(ch[j]);
t[i] := ch;
End;
End;
//************************************
Function verif(ch:String) : boolean;
Var
i,l : integer;
res : boolean;
Begin
l := length(ch);
res := true;
i := 1;
While (i<=l Div 2) And res Do
Begin
If ch[i]=ch[l-i+1] Then
i := i+1
Else
res := false;
End;
verif := res;
End;
//************************************
Procedure affiche_pal(t:tab;n:integer);
Var
i,j : integer;
test : boolean;
ch : string[5];
Begin
writeln;
For i:=1 To n Do
Begin
ch := t[i];
If verif(ch) Then
writeln(ch);
End;
End;
//************************************
Begin
remplire(t,n);
affichage(t,n);
elimine(t,n);
conv_maj(t,n);
affiche_pal(t,n);
End.
Inscription à :
Publier les commentaires (Atom)