Cod sursa(job #1035058)

Utilizator c.mihaelaMihaela Gabriela Ciobotaru c.mihaela Data 18 noiembrie 2013 11:56:35
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<iostream>
#include<fstream>

using namespace std;

ifstream fin("algsort.in");
ofstream fout("algsort.out");

int main()
{
	int a[32000],b[32000],max=0,exp=1,i,n;
	fin>>n;
	for(i=0;i<n;i++)
	{
		fin>>a[i];
		if(a[i]>max)
			max=a[i];
	}
	while(max/exp>0)
	{
		int v[10]={0};
		for(i=0;i<n;i++)
			v[(a[i]/exp)%10]++;
		for(i=1;i<10;i++)
			v[i]+=v[i-1];
		for(i=n-1;i>=0;i--)
			b[--v[a[i]/exp%10]]=a[i];
		for(i=0;i<n;i++)
			a[i]=b[i];
		exp=exp*10;
	}
	for(i=0;i<n;i++)
		fout<<a[i]<<" ";
	return 0;
}