Pagini recente » Cod sursa (job #1524644) | Cod sursa (job #1028238) | Cod sursa (job #2388097) | Cod sursa (job #1609200) | Cod sursa (job #210759)
Cod sursa(job #210759)
program pascal;
var f,g:text; c:char;
v:array[97..122] of longint;
a:array[1..2000000] of char;
poz,poz2,aux,i,k,n,p:longint; max:integer;
procedure citire;
begin
n:=0;
max:=0;
while not seekeof(f) do
begin
n:=n+1;
read(f,c);
v[ord(c)]:=v[ord(c)]+1;
if ord(c)>max then max:=ord(c);
end;
end;
procedure formare;
begin
poz:=1;
poz2:=2;
for i:=97 to max do
begin
for k:=1 to v[i] do
begin
a[poz]:=chr(i);
poz:=poz+2;
end;
if poz>poz2 then
begin
aux:=poz;
poz:=poz2;
poz2:=aux;
end;
end;
end;
procedure afisare;
begin
p:=0;
i:=1;
while p<>n do
begin
if ord(a[i])<>0 then
begin
write(g,a[i]);
p:=p+1;
end;
i:=i+1;
end;
end;
begin
assign(f,'ordine.in'); reset(f);
assign(g,'ordine.out'); rewrite(g);
citire;
formare;
afisare;
close(f);
close(g);
end.