Pagini recente » Cod sursa (job #953605) | Cod sursa (job #2726712) | Cod sursa (job #1423929) | Cod sursa (job #1279226) | Cod sursa (job #179891)
Cod sursa(job #179891)
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define input "ordine.in"
#define output "ordine.out"
#define nmax 1000005
char a[nmax];
int v[30],nl=0;
void citire()
{
FILE *fin;
int i;
fin=fopen(input,"r");
fscanf(fin,"%s",a);
for (i=0;i<strlen(a);i++)
{
v[a[i]-'a']++;
nl++;
}
fclose(fin);
}
int af(int n)
{
int i;
for (i=0;i<26;i++)
if ((i!=n)&&(v[i]))
{
v[i]--;
return i;
}
return 0;
}
void afisare()
{
int i,ul;
FILE *fout=fopen(output,"w");
ul=af(-1);
fprintf(fout,"%c",(char)(ul+(int)'a'));
for (i=2;i<=nl;i++)
{
ul=af(ul);
fprintf(fout,"%c",(char)(ul+(int)'a'));
}
fclose(fout);
}
int main()
{
citire();
afisare();
return 0;
}