Pagini recente » Cod sursa (job #2582595) | Cod sursa (job #221801) | Cod sursa (job #2459244) | Cod sursa (job #761217) | Cod sursa (job #179878)
Cod sursa(job #179878)
#include<stdio.h>
FILE *f=fopen("ordine.in","r");
FILE *g=fopen("ordine.out","w");
long v[33];
void cit()
{
char c;
while(!feof(f))
{fscanf(f,"%c",&c);
++v[int(c)-97];
}
--v[int(c)-97];
}
void solve()
{
int x,y;
x=0;
while(!v[y])
++x;
y=x+1;
int sw;
sw=1;
while(sw)
{sw=0;
while(v[x])
{fprintf(g,"%c",char(x+97));
--v[x];
if(v[y])
{fprintf(g,"%c",char(y+97));
--v[y];}
sw=1;
}
if(v[y]&&v[y+1])
{fprintf(g,"%c",char(y+98));
--v[y+1];
sw=1;}
if(v[y])
{x=y;
y=y+1;}
else if(v[y+1])
{x=y+1;
y=y+2;}
}
if(v[x-1])
fprintf(g,"%c",x+96);
}
int main()
{
cit();
solve();
fcloseall();
return 0;
}