1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| program occurence_max;
uses wincrt;
type tab =array [1..100] of integer;
var t:tab;
n:integer;
procedure recursive (t :tab;n:integer);
var occurence,max,i,compteur:integer;
begin
occurence:=1;
max:=t[1];
compteur:=1;
for i:=2 to n do
if t[i]=t[i-1] then
begin
compteur:=compteur+1;
if compteur>occurence then
begin
occurence:=compteur;
max:=t[i];
end;
end
else
compteur:=1;
writeln('le max est ',max,' son occurence est: ',occurence);
end;
procedure tri_selec (var t:tab;n:integer);
var i,posm:integer;
procedure permute (var x,y:integer);
var z :integer;
begin
z :=x;
x:=y;
y:=z;
end;
function mini (t:tab;j,n:integer):integer;
var i,q:integer ;
begin
j:=i+1;
q:=j;
for i := j+1 to n do
if t[i]< t[q] then
q:=i;q:=mini(t,j,n);
end;
begin
for i:=1 to n-1 do
posm:=mini (t,i+1,n);
if t[posm]< t[i]
then permute ( t[i],t[posm]);
end;
procedure saisie ( var t:tab;n:integer);
var i:integer;
begin
write ('saisir n:') ; read (n);
for i := 1 to n do
begin
writeln ('t[',i,']:');readln (t[i]);
end;
end;
begin
saisie (t,n);
tri_selec (t,n);
recursive (t,n);
end. |
Partager