PROGRAM TP5exc2 ;
CONST nmax=100 ; (* par exemple *)
VAR T : array[1..nmax] of integer ;
choix,
i, compteur, moyenne, min, max : integer ;
BEGIN
repeat
(* création du tableau *)
for i:=1 to nmax do T[i]:=random(11) ;
(* menu *)
repeat
clrscr ;
writeln('Au choix :') ;
writeln(' -1- moyenne
des éléments du tableau') ;
writeln(' -2- liste des
éléments pairs avec leurs indices') ;
writeln(' -3- le nombre
d'éléments multiples de 3') ;
writeln(' -4- maximum
et minimum du tableau et indices correspondants') ;
writeln(' -5- changer
de tableau') ;
writeln(' -0- terminer')
;
readln(choix) ;
clrscr ;
case choix of
1 :
begin
compteur:=0 ;
for i:=1 to nmax do compteur:=compteur+T[i] ;
moyenne:=compteur/nmax ;
writeln('La moyenne est : ', moyenne:5:2) ;
end ;
2 :
for i:=1 to nmax do
if ((T[i] mod 2)=0) then writeln('T[',i,'] est paire') ;
3 :
begin
compteur:=0 ;
for i:=1 to nmax do if ((T[i] mod 3)=0) then compteur:=compteur+1 ;
writeln('Il y a ',compteur,' éléments multiples de 3') ;
end ;
4 :
begin
max:=T[1] ; min:=T[1] ;
for i:=2 to nmax do
begin
if (T[i]<min) then min:=T[i] ;
if (T[i]>max) then max:=T[i] ;
end ;
writeln('Maximum : ', max, ' atteint par :') ;
for i:=1 to nmax do
if T[i]=max then write('T[',i,'] ') ;
writeln ;
writeln('Minimum : ', min, 'atteint par :') ;
for i:=1 to nmax do
if T[i]=min then write('T[',i,']') ;
writeln ;
end ;
until (choix=0) or (choix=5)
;
until (choix=0) ;
END.