CONST nmax = 999 ;
VAR n,i,k : integer ;
T : array[1..999]
of integer ;
choix : char ;
maximum, minimum : integer ;
moyenne : real ;
BEGIN
randomize ;
(* saisie du nombre n d'entiers *)
repeat
write('Combien d''entiers voulez-vous (1 à ',nmax,')
? ') ; readln(n) ;
until (n>=1) and (n<=nmax) ;
(* saisie ou tirage aléatoire des n entiers *)
write('Voulez-vous choisir vous-meme les valeurs (o/n) ? ') ;
readln(choix) ;
if upcase(choix)='O'
then begin
for i:=1 to n do
repeat
write(i,'-ième nombre (0 à 10) ? ') ;
readln(T[i]) ;
until (T[i]>=0) and (T[i]<=10)
end
else for i:=1 to n do T[i]:=random(11) ;
(* menu et choix *)
writeln ;
writeln('Menu :') ;
writeln('-1- moyenne') ;
writeln('-2- liste des éléments pairs') ;
writeln('-3- nombre d''éléments multiples de 3')
;
writeln('-4- maximum(s) et minimum(s)') ;
writeln ;
repeat
write('Votre choix ? ') ;
readln(choix) ;
until (choix>='1') and (choix<='4') ;
(* réalisation du choix *)
case choix of
'1' : begin
moyenne:=0 ;
for i:=1 to n do moyenne:=moyenne+T[i]
;
moyenne:=moyenne/n ;
writeln('moyenne : ',moyenne:0:2);
end ;
'2' : for i:=1 to n do
if (T[i]
mod 2=0)
then writeln('le ',i:3,'-ième élément est pair : ',T[i])
;
'3' : begin
k:=0 ;
for i:=1 to n do if
(T[i] mod 3=0) then k:=k+1 ;
writeln('il y a ',k,'
éléments multiples de 3') ;
end ;
'4' : begin
maximum:=T[1] ; minimum:=T[1]
;
for i:=1 to n do
begin
if T[i]>maximum then maximum:=T[i] ;
if T[i]<minimum then minimum:=T[i] ;
end ;
writeln('maximum(s)
: ',maximum,' atteint aux indices : ') ;
for i:=1 to n do if
T[i]=maximum then write(i:4) ;
writeln ;
writeln('minimum(s)
: ',minimum,' atteint aux indices : ') ;
for i:=1 to n do if
T[i]=minimum then write(i:4) ;
writeln ;
end ;
end ;
END.