Pagini recente » Cod sursa (job #892834) | Cod sursa (job #740265) | Cod sursa (job #580112) | Cod sursa (job #2685384) | Cod sursa (job #826742)
Cod sursa(job #826742)
#include <fstream>
#include <algorithm>
#define DIM 500010
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int n, i, a[DIM], b[DIM], v[10], nr, k, j, maxim, nc;
int cifre(int n) {
int s = 0;
while (n) {
s ++;
n /= 10;
}
return s;
}
int main(){
f>>n;
for(i=1; i<=n; i++) {
f>>a[i];
maxim = max(a[i], maxim);
}
f.close();
nc = cifre(maxim);
nr=1;
for(i=1; i<=nc; i++)
{
for(j=0; j<10; j++)
v[j]=0;
for(j=1; j<=n; j++)
v[ (a[j]/nr)%10 ]++;
for(j=1; j<10; j++)
v[j]+=v[j-1];
for(j=n; j>0; j--)
b[ v[ (a[j]/nr)%10 ]-- ]=a[j];
for(j=1; j<=n; j++)
a[j]=b[j];
nr=nr*10;
}
for(i=1; i<=n; i++)
g<<a[i]<<' ';
g<<"\n";
g.close();
return 0;
}