Cod sursa(job #1149534)

Utilizator Balescu_OvidiuBalescu Ovidiu-Gheorghe Balescu_Ovidiu Data 21 martie 2014 23:05:58
Problema Sortare prin comparare Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 1.08 kb
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
long unsigned n,i,a[30],flag,man,k,c;
int main()
{
    FILE*f=fopen("algsort.in","r");
    FILE*g=fopen("algsort.out","w");
    fscanf(f,"%lu",&n);
    for(i=0;i<n;i++) fscanf(f,"%lu",&a[i]);
    printf("\n");
    //Sortare
    while(flag==0)
    {
        flag=1;
        for(i=1;i<n/2+n%2;i++)
            if(a[i]<a[i-1])
            {
                flag=0;
                man=a[i];
                a[i]=a[i-1];
                a[i-1]=man;

            }
        for(i=n/2+n%2+1;i<n;i++)
            if(a[i]<a[i-1])
            {
                flag=0;
                man=a[i];
                a[i]=a[i-1];
                a[i-1]=man;
            }
    }
    while(flag==0)
    {
        flag=1;
        for(i=1;i<n;i++)
            if(a[i]<a[i-1])
            {
                flag=0;
                man=a[i];
                a[i]=a[i-1];
                a[i-1]=man;

            }
    }
    //
    for(i=0;i<n;i++) fprintf(g,"%lu ",a[i]);
    fclose(f);
    fclose(g);
    return 0;
}