Program S15 ;
Type
tab = Array[1..26] Of string;
Var
TN,TC,TG : tab;
n : Integer;
//********************************
Procedure afficher(TN,TC:tab;n:integer);
Var
i : integer;
Begin
For i:=1 To n Do
writeln(TN[i],' ',TC[i]);
End;
Function Verif(ch:String;L:integer) : boolean;
Var
i : integer;
b : boolean;
Begin
i := 0;
Repeat
i := i+1;
b := ch[i] In ['A'..'Z','a'..'z'] ;
Until (Not b) Or (i=length(ch));
verif := b And (length(ch)<=L);
End;
//********************************
Procedure saisies(Var TN,TG:tab;Var n:integer);
Var
i : integer;
Begin
Repeat
write('Donner le nombre de participants :');
readln(N);
Until (N In [5..26]);
For i:=1 To n Do
Begin
Repeat
write('Donner le nom du participant :');
readln(TN[i]);
Until (Verif ( TN[i], 15));
Repeat
write('Donner le nom du gouvernorat :');
readln(TG[i]);
Until ( Verif ( TG[i], 10));
End;
End;
//********************************
Function nb_occ(T:Tab;n:integer) : integer;
Var
i,nb : integer;
Begin
nb := 0;
For i:=1 To n Do
If T[n]=T[i] Then
nb := nb+1;
nb_occ := nb;
End;
//********************************
Procedure Generer (TG:Tab;Var TC:Tab; N:integer);
Var
nb,i : integer;
x : string;
Begin
For i:=1 To n Do
Begin
nb := nb_occ(TG,i);
str(nb,x);
If length(x)<>2 Then
x := '0'+x;
TC[i] := copy(TG[i],1,3)+x;
End;
End;
//********************************
Begin
saisies(TN,TG,N);
Generer(TG,TC,N);
afficher(TN,TC,N);
End.
Inscription à :
Publier les commentaires (Atom)