Program S7;
Type
tab = array[1..9] Of char;
Var
t : tab;
mot : string;
n : integer;
//*******************************
Procedure remplir (Var t:tab; Var n:integer);
Var
i : integer;
Begin
Repeat
writeln('donner la taille du tableau entre 5 et 9');
readln(n)
Until (n In [5..9]);
For i:=1 To n Do
Repeat
writeln('donner un caractère alphabet miniscule ',i);
readln (t[i]);
Until t[i] In ['a'..'z'];
End;
//*******************************
Procedure saisir (Var ch:String);
Var
i : integer;
test : boolean;
Begin
Repeat
writeln('donner le mot a rechercher');
readln(mot);
i := 0;
test := true;
Repeat
i := i+1;
If Not (ch[i] In ['a'..'z']) Then
test := false;
Until (test=false) Or (i=length(ch));
Until (test=true) And (length(ch) In [1..7]);
End;
//*******************************
Procedure affiche (ch:String; t:tab; n:integer);
Var
i,j : integer;
existe : boolean;
msg, p : string;
Begin
i := 0;
msg := '';
Repeat
i := i+1;
existe := false;
j := 0;
Repeat
j := j+1;
If t[j]=ch[i] Then
Begin
existe := true;
str(j,p);
msg := concat(msg,p);
End;
Until (t[j]=ch[i]) Or (j=n);
Until (i=length(ch)) Or (existe=false);
If (existe) Then
writeln (msg)
Else writeln ('on ne peut pas former la chaine a partir des caracteres du tableau');
End;
//*******************************
Begin
remplir(t,n);
saisir(mot);
affiche(mot,t,n);
End.
Inscription à :
Publier les commentaires (Atom)