Pagini recente » Istoria paginii utilizator/panosa8320 | Cod sursa (job #1511540) | Cod sursa (job #1472790) | Cod sursa (job #2071292) | Cod sursa (job #111880)
Cod sursa(job #111880)
#include<stdio.h>
FILE*f=fopen("ordine.in","r");
FILE*g=fopen("ordine.out","w");
long a[30];
char c;
int main()
{
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;
}