Cod sursa(job #111318)

Utilizator M@2Te4iMatei Misarca M@2Te4i Data 29 noiembrie 2007 12:45:00
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define v 1000000

char s[v];

void citire()
{
freopen("ordine.in","r",stdin);
fgets(s,v,stdin);
if (s[strlen(s)-1]=='\n')
   s[strlen(s)-1]=0;
fclose(stdin);
}

int sort_function( const void *a, const void *b)
{
   return( strcmp((char *)a,(char *)b) );
}

void ordine()
{
char aux;
for (int i=1; i<strlen(s); i++)
    {
    if (s[i]==s[i-1])
       for (int j=i+1; j<strlen(s); j++)
	   if (s[i]!=s[j])
	      {
	      aux=s[i];
	      s[i]=s[j];
	      s[j]=aux;
	      break;
	      }
    }
}

void afisare()
{
freopen("ordine.out","w",stdout);
printf("%s\n",s);
fclose(stdout);
}

int main()
{
citire();
qsort((void *)s, strlen(s), sizeof(s[0]), sort_function);
ordine();
afisare();
return 0;
}