Pagini recente » Cod sursa (job #310149) | Istoria paginii utilizator/mihnea_dumitru | Cod sursa (job #164566) | Cod sursa (job #502443) | Cod sursa (job #778812)
Cod sursa(job #778812)
# include <fstream>
# define N 500001
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[N + 1],t[10][N];
int main(){
int i,j,zece,Ncif,cif;
fin >> v[0];
for( i = 1 ; i <= v[0] ; ++i ) fin >> v[i];
zece = 1;
for( Ncif = 1 ; Ncif <= 4 ; ++Ncif ){
if( Ncif > 1 ) zece *= 10;
for( i = 1 ; i <= v[0] ; ++i ){
cif = ( v[i] / zece ) % 10;
t[ ++t[0][cif] ][cif] = v[i];
}
// Extrag din matrice in vector
v[0] = 0;
for( i = 0 ; i < 10 ; ++i )
if( t[0][i] ){
for( j = 1 ; j <= t[0][i] ; ++j )
v[++v[0]] = t[j][i];
}
for( i = 0 ; i < 10 ; ++i ) t[0][i] = 0;
}
for( i = 1 ; i <= v[0] ; ++i ) fout << v[i] << " ";
fin.close();
fout.close();
return 0;
}