Pagini recente » Cod sursa (job #883296) | Cod sursa (job #2274078) | Cod sursa (job #2442772) | Cod sursa (job #907625) | Cod sursa (job #421809)
Cod sursa(job #421809)
#include<stdio.h>
FILE *fin, *fout;
int n,v[256],i,p,j,q;
char ch,cha;
int main(){
fin=fopen("ordine.in","r");
fout=fopen("ordine.out","w");
while(fscanf(fin,"%c",&ch)!=EOF){
if(ch!='\n'){
n++;
v[ch]++;
}
}
for(i=1;i<=n;i++){
p=0;
q=0;
for(j='a';j<='z';j++){
if(p==0 && v[j]!=0 && j!=cha){
p=j;
}
if(v[j]>(n-i+1)/2 && j!=cha){
q=j;
break;
}
}
if(q!=0){
fprintf(fout,"%c",q);
v[q]--;
cha=q;
}
else{
fprintf(fout,"%c",p);
v[p]--;
cha=p;
}
}
fclose(fout);
fclose(fin);
return 0;
}