Pagini recente » Cod sursa (job #3159345) | Cod sursa (job #1084917) | Cod sursa (job #512539) | Cod sursa (job #1402581) | Cod sursa (job #418782)
Cod sursa(job #418782)
#include <stdio.h>
int v[256],i,j,nr,ok,max,n,p;
char c;
int main() {
FILE *f=fopen("ordine.in","r");
FILE *g=fopen("ordine.out","w");
while(fscanf(f,"%c",&c)!=EOF) {
v[c-'a'+1]++;
nr++;
}
ok=1;
while(ok==1) {
max=0;p=0;ok=0;
for(i=1;i<='z'-'a'+1;i++)
if(max<v[i]){
max=v[i];
p=i;
}
if(nr-1==max&&p!=c)
{fprintf(g,"%c",(char)(p+'a'-1));
nr--;v[p]--;ok=1;c=p;
}
else
for(i=1;i<='z'-'a'+1;i++)
if(v[i]>0&&i!=c) {
fprintf(g,"%c",(char)(i+'a'-1));
v[i]--;nr--;ok=1;c=i;
break;
}
}
return 0;
}