Pagini recente » Cod sursa (job #2617015) | Cod sursa (job #853340) | Cod sursa (job #2700018) | Cod sursa (job #2493624) | Cod sursa (job #162717)
Cod sursa(job #162717)
#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;
}