Pagini recente » Cod sursa (job #2943382) | Cod sursa (job #2894188) | Cod sursa (job #2754653) | Cod sursa (job #2404897) | Cod sursa (job #266200)
Cod sursa(job #266200)
#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);
}