Pagini recente » Cod sursa (job #1554413) | Cod sursa (job #2842493) | Cod sursa (job #581105) | Monitorul de evaluare | Cod sursa (job #559983)
Cod sursa(job #559983)
//
#include<stdio.h>
FILE *f=fopen("algsort.in","r"), *g=fopen("algsort.out","w");
int v[500],inj,i,n,aux,sw;
void shell()
{
inj=n;
while(inj>1)
{
inj/=2;
do{
sw=0;
for(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++;
}
}while(sw!=0);
}
}
int main()
{
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d ", &v[i]);
shell();
for(i=1;i<=n;i++)
fprintf(g,"%d ", v[i]);
fclose(f);
fclose(g);
return 0;
}