Pagini recente » Cod sursa (job #1842689) | Cod sursa (job #1032890) | Cod sursa (job #1333891) | Cod sursa (job #2345838) | Cod sursa (job #826715)
Cod sursa(job #826715)
#include<fstream>
#include<string.h>
#define DIM 500010
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int maxim,i,n,nr,k,putere=1;
int Fr[11],V[DIM],Z[DIM];
int main(){
f>>n;
for(i=1;i<=n;i++){
f>>V[i];
if(V[i]>maxim)
maxim=V[i];
}
while(maxim!=0){
nr++;
maxim/=10;
}
for(k=1;k<=nr;k++){
putere*=10;
memset(Fr,0,sizeof(Fr));
for(i=1;i<=n;i++)
Fr[V[i]%putere/(putere/10)]++;
for(i=1;i<=9;i++)
Fr[i]+=Fr[i-1];
for(i=n;i>=1;i--)
Z[Fr[V[i]%putere/(putere/10)]--]=V[i];
memcpy(V,Z,sizeof(V));
}
for(i=1;i<=n;i++)
g<<V[i]<<" ";
return 0;
}