Pagini recente » Cod sursa (job #676159) | Cod sursa (job #560290) | Borderou de evaluare (job #2012096) | Cod sursa (job #2202116) | Cod sursa (job #123127)
Cod sursa(job #123127)
#include<stdio.h>
long a[30];
char c;
int main()
{
FILE *f = fopen("ordine.in","r"),*g = fopen("ordine.out","w");
long i,p,j,n=0;
char x;
char last;
last='!';
while(!feof(f))
{
fscanf(f,"%c",&c);
if(c!='\n')
{
++n;
p=(int)c;
a[p-64-32]++;
}
}
for(i=1;i<=n;++i)
{
//ne aflam pe poz i.
x='!';
for(j=1;j<=26;++j)
{
if(a[j]==(n-i+1)/2+1) { x=(char)(j+96); a[j]--; break; }
}
if(x!='!') fprintf(g,"%c",x), last=x;
else
{
for(j=1;j<=26;++j)
{
if(a[j])
{
x=(char)(j+96);
if(x!=last) { a[j]--; break; }
}
}
fprintf(g,"%c",x), last=x;
}
}
return 0;
}