uses crt;
var a,b,c:array[1..50]of byte;
n,i,j,k,l,t,x,y:byte;
begin
clrscr;
randomize;
write('n=');readln(n);
writeln('Ishodnuj massiv:');
for i:=1 to n do
begin
a[i]:=random(25)+1;
write(a[i],' ');
end;
writeln;
i:=0;b[i]:=1;
while i<=n do
begin
i:=i+1;
b[i]:=1;c[i]:=a[i];//сначала количество=1, запоминаем элемент из массива А
for j:=n downto i+1 do
if a[j]=a[i] then //если нашли такое же число, то
begin
b[i]:=b[i]+1; //увеличиваем его количество
for l:=j to n-1 do
a[l]:=a[l+1]; //сдвигом массива удаляем его
n:=n-1;//уменьшаем длину массива
end;
end;
for k:=1 to n-1 do
for t:=1 to n-1 do
if b[t]<b[t+1] then //сортируем по уменьшению встречаемости оба новых массива
begin
x:=b[t];
y:=c[t];
b[t]:=b[t+1];
c[t]:=c[t+1];
b[t+1]:=x ;
c[t+1]:=y ;
end;
writeln('Rezultat:');
for j:=1 to n do //от первого элемента до последнего из оставшися
for k:=1 to b[j] do //выводим его столько раз, сколько оно встретилось
write(c[j],' ');
readln
end.
readln
end.