program majoritaire;
uses wincrt;
type tab=array[1..25]of integer;
var t:tab;
n:integer;
procedure saisie(var n:integer;var t:tab);
var i:integer;
begin repeat
write('Donner la taille de T ');
readln(n);
until n in [5..25];
for i:=1 to n do begin
write('t[',i,']=');
readln(t[i]);
end;
end;
function occurence(v:integer):integer;
var i,occ:integer;
begin occ:=0;
for i:=1 to n do if(t[i]=v)then
occ:=occ+1;
occurence:=occ;
end;
procedure affiche(t:tab);
var i,elmax,occmax,id:integer;
begin elmax:=t[1];
occmax:=occurence(t[1]);
id:=1;
for i:=2 to n do
if(occurence(t[i])>occmax)then begin
occmax:=occurence(t[i]);
id:=i;
elmax:=t[i];
end;
writeln('l''entier ',elmax,' possède le plus grand nombre d''apparition qui est égale à ',occmax);
writeln('le nombre d''éléments, autres que ',elmax,' restants dans le tableau est égal à ',n-occmax);
if(occmax>n div 2)then
write('l''élément majoritaire dans le tableau est ',elmax) else
write('Il n''éxiste pas un élément majoritaire dans le tableau');
end;
begin saisie(n,t);
affiche(t);
end.