Pagini recente » Cod sursa (job #1240403) | Cod sursa (job #1546685) | Cod sursa (job #1236593) | Cod sursa (job #1223601) | Cod sursa (job #328131)
Cod sursa(job #328131)
#include <stdio.h>
FILE *f,*g;
long i,p,poz,ok;
char c;
long a[27];
int main(){
f=fopen("ordine.in","r");
g=fopen("ordine.out","w");
for (i=1;i<=26;i++) a[i]=0;
while (!feof(f)){
fscanf(f,"%c",&c);
if (c!='\n') a[int(c)-96]++;
}
ok=1;
poz=1;
while (a[poz]==0) poz++;
p=poz;
p++;
while (a[p]==0) p++;
while (ok){
fprintf(g,"%c",char(96+poz));
a[poz]--;
if (a[poz]){
a[p]--;
fprintf(g,"%c",char(96+p));
while (a[p]==0) p++;
}
while (a[poz]==0) poz++;
if (p==poz){
p++;
while (a[p]==0) p++;
}
ok=0;
for (i=1;i<=26;i++)
if (a[i]){
ok=1;
break;
}
}
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;
}