Pagini recente » Cod sursa (job #438775) | Cod sursa (job #172994) | Cod sursa (job #1900777) | Cod sursa (job #502671) | Cod sursa (job #127971)
Cod sursa(job #127971)
#include <stdio.h>
long int n,i,ok;
long int v[130];
char c,t;
int p;
char j;
int main(){
FILE *f = fopen("ordine.in","r");
n=0;
while (!feof(f)) {
if ((p = fscanf(f,"%c",&c))!=1)
break;
if ((c>='a')&&(c<='z')) {
v[c]++;
n++;
}
}
FILE *g = fopen("ordine.out","w");
t='A';
for (i=1;i<=n;i++) {
ok=1;
for (j='a';j<='z';j++)
if (v[j]==(n-i+1)/2+1) {
ok=0;
break;
}
if (ok==0) {
v[j]--;
t=j;
fprintf(g,"%c",j);
// printf("%c",j);
}else {
for (j='a';j<='z';j++) {
if ((v[j]!=0) && (j!=t)) {
v[j]--;
t=j;
fprintf(g,"%c",j);
// printf("%c",j);
break;
}
}
}
}
fclose(g);
return 0;
}