Cod sursa(job #1151090)

Utilizator Balescu_OvidiuBalescu Ovidiu-Gheorghe Balescu_Ovidiu Data 23 martie 2014 20:47:45
Problema Sortare prin comparare Scor 40
Compilator c Status done
Runda Arhiva educationala Marime 0.89 kb
#include<stdio.h>
unsigned long n,j,i,a[500000],man; short flag=1;
int main()
{
    FILE*f=fopen("algsort.in","r");
    fscanf(f,"%lu",&n);
    for(i=0;i<n;i++) fscanf(f,"%lu",&a[i]);
    fclose(f);
    do
    {
        flag=0;
        for(i=1;i<n;i++)
            if(a[i-1]>a[i])
            {
                flag=1;
                man=a[i-1];
                a[i-1]=a[i];
                a[i]=man;
                int stop=1;
                for(j=i;j>0&&stop;j--)
                {
                    if(a[j]<a[j-1])
                    {
                        man=a[j];
                        a[j]=a[j-1];
                        a[j-1]=man;

                    }
                    else stop=0;
                }
            }

    }while(flag==1);
    FILE*g=fopen("algsort.out","w");
    for(i=0;i<n;i++) fprintf(g,"%lu ",a[i]);
    fclose(g);
    return 0;
}