Pagini recente » Cod sursa (job #891894) | Cod sursa (job #3157491) | Cod sursa (job #2055209) | Cod sursa (job #3159634) | Cod sursa (job #110265)
Cod sursa(job #110265)
var fi,fo:text;
expresie:ansistring;
lit:array['a'..'z'] of longint;
expr:array[1..1100000]of char;
i,poz,nrelem:longint;
procedure Rezolv_Expresie;
var k,j:longint;
i:char;
ok:byte;
begin
poz:=1; ok:=0; nrelem:=1;
for i:='a' to 'z' do
if lit[i]>0 then
begin
k:=poz; ok:=0;
for j:=1 to lit[i] do
begin
expr[k]:=i;
if k>nrelem then nrelem:=k;
if (expr[k-1]=',')and(ok=0) then begin poz:=k-1; ok:=1; end;
inc(k,2);
end;
if ok=0 then
if expr[k-1]=',' then poz:=k-1
else poz:=k;
end;
end;
begin
assign(fi,'ordine.in'); reset(fi);
assign(fo,'ordine.out'); rewrite(fo);
read(fi,expresie);
for i:=1 to length(expresie) do
begin
inc(lit[expresie[i]]);
expr[i]:=','; end;
Rezolv_Expresie;
for i:=1 to nrelem do
write(fo,expr[i]);
close(fi);
close(fo);
end.