Cod sursa(job #266200)

Utilizator zalmanDanci Emanuel Sebastian zalman Data 25 februarie 2009 00:57:00
Problema Litere Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>
#include <string.h>
char v[10000], enter[2];
int i, j, k, n;
void shell(void)
{
 int sw;
 char aux;
 int inj = n;
 while( inj > 1)
 {
  inj/=2;
  do
  {
	sw = 1;
	for( register int i = 1; i <= n-inj; i++)
	 if(v[i] > v[i+inj])
	 {
	  aux = v[i];
	  v[i] = v[i+inj];
	  v[i+inj] = aux;
	  sw = 0;
	  k++;
	 }
  }while(!sw);
 }

}
int main(void)
{
 freopen("litere.in","r",stdin);
 freopen("litere.out","w",stdout);
 scanf("%d",&n);
 memset(v, '0', n);

 gets(enter);
 for( i = 1; i <= n; i++)
  scanf("%c",&v[i]);
 shell();
 printf("%d",k);
}