Pagini recente » Cod sursa (job #2068928) | Cod sursa (job #476747) | Cod sursa (job #2965979) | Cod sursa (job #1416936) | Cod sursa (job #133319)
Cod sursa(job #133319)
#include<stdio.h>
char c;
int v[30],n,j,i,ok,min,k;
int main(){
FILE *f=fopen("ordine.in","r");
while(!feof(f)){
fscanf(f,"%c",&c);
if(feof(f)||c=='\n'||c==0)break;
n++;v[c-96]++;
}
fclose(f);
FILE *g=fopen("ordine.out","w");
for(i=1;i<=n;i++){
min=27;
ok=1;
for(j=1;j<=26;j++){
if(v[j]!=0&&j<min&&ok&&j!=k){
min=j;
}
if(v[j]>=(n-i+1)/2+1&&j!=k){
ok=0;
min=j;
}
}
fprintf(g,"%c",min+96);
k=min;
v[min]--;
}
fclose(g);
return 0;
}