Cod sursa(job #418358)
#include <stdio.h>
char sir[10001], aux;
int n, i, j, k;
int mutari = 0, poz;
int maxim (int p2)
{
int pozitie = 0, z;
char Max = 'a';
for (z=0; z<=p2; ++z)
if (Max <= sir[z])
{
Max = sir[z];
pozitie = z;
}
return pozitie;
}
int main()
{
FILE *f = fopen ("litere.in","r");
FILE *g = fopen ("litere.out","w");
fscanf (f,"%d", &n);
fscanf (f,"%s", sir);
fclose(f);
do
{
n --;
poz = maxim (n);
//printf ("%2d : ", poz);
for (i=poz; i<n; ++i)
{
aux = sir[i];
sir[i] = sir[i+1];
sir[i+1] = aux;
mutari ++;
}
//printf ("%s\n", sir);
}
while (n > 0);
//printf ("mutari = %d", mutari);
fprintf (g,"%d", mutari);
fclose(g);
return 0;
}