Pagini recente » Cod sursa (job #739847) | Cod sursa (job #2055052) | Cod sursa (job #785883) | Cod sursa (job #1911302) | Cod sursa (job #162718)
Cod sursa(job #162718)
#include<stdio.h>
int i,q,j;
char v[1000000],aux;
int main()
{
FILE*f=fopen ("ordine.in","r");
FILE*g=fopen ("ordine.out","w");
i=1;
while (fscanf (f,"%c",&v[i])!=EOF)
i++;
q=i-1;
for (i=1;i<=q;i++)
for (j=i+1;j<=q;j++) if (v[i]>v[j]) {aux=v[i];
v[i]=v[j];
v[j]=aux;}
for (i=2;i<=q;i++)
if (v[i-1]==v[i]) {for (j=i+1;j<=q;j++)
if (v[j]!=v[i]) {aux=v[j];
v[j]=v[i];
v[i]=aux;
break;}
if (j==q+1) {aux=v[i-2];
v[i-2]=v[i-1];
v[i-1]=aux;}
}
for (i=1;i<=q;i++) fprintf(g,"%c",v[i]);
fclose(f);
fclose(g);
return 0;
}