Cod sursa(job #1059087)

Utilizator danielad.birsanBirsan Daniela danielad.birsan Data 16 decembrie 2013 08:42:56
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<iostream.h>
#include<fstream.h>
void mergesort(int a[50],int st,int m,int dr)
{int b[50];
int i,j,k;
i=0;j=st;
while(j<=m)
b[i++]=a[j++];
i=0;k=st;
while (k<j&&j<=dr)
if(b[i]<=a[j])
	a[k++]=b[i++];
else
a[k++]=a[j++];
while(k<j)
a[k++]=b[i++];
}

void merge(int a[20],int st, int dr)
{if(st<dr)
	{int m=(st+dr)/2;
merge(a,st,m);
merge(a,m+1,dr);
mergesort(a,st,m,dr);
}
}

int main()
{int i,n,a[50],st,dr;
ifstream f("algsort.in");
ofstream g("algsort.out");
f>>n;
for (i=1;i<=n;i++)
f>>a[i];
dr=n;st=1;
merge(a,st,dr);
for (i=1;i<=n;i++)
	g<<a[i]<<" ";
return 0;}