Cod sursa(job #109636)

Utilizator iepuras_binarAlexandru B. iepuras_binar Data 25 noiembrie 2007 12:14:03
Problema Ordine Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 1, Clasele 5-8 Marime 0.84 kb
#include <cstdio>
FILE *fi = fopen("ordine.in","r"), *fo = fopen("ordine.out","w");
char sir[255];
int lung(char sir[])
{
int len=0;
char *p;
for (p=sir; *p; p++)
len++;
return len;
}
void adiacenta(char sir[])
{ char aux;
     for (int i=0; i<lung(sir)-1; i++)
      for (int j=0; j<lung(sir); j++)
          if (sir[j]==sir[i]+1)
             { aux = sir[j];
              sir[j]=sir[i+1];
              sir[i+1] = aux;
              } 
}               
void sortare(char sir[])
{ char aux;
     for (int i=0; i < lung(sir)-1; i++)
      for (int j=i+1; j < lung(sir); j++)
         if (sir[i] > sir[j])
               {  aux = sir[j];
                  sir[j]=sir[i];
                  sir[i]=aux;
               }   
}
int main()
{ fscanf(fi,"%s",sir);
  sortare(sir);
  adiacenta(sir);
  fprintf(fo,"%s",sir);
}