Pagini recente » Cod sursa (job #433090) | Cod sursa (job #3272956) | Monitorul de evaluare | Cod sursa (job #1761298) | Cod sursa (job #1082893)
//and then there was radix.
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector<int> v;
int maxim,n;
void radix(int zec){
vector<int> rad[10];
int i,j;
for(i=0;i<n;i++){
rad[(v[i]/zec)%10].push_back(v[i]);
// cout<<v[i]<<" ";
}
// cout<<endl;
int k=0;
for(i=0;i<10;i++)
for(j=0;j<rad[i].size();j++){
v[k]=rad[i][j];
k++;
}
}
int main()
{
int i,x;
ifstream f("algsort.in");
ofstream g("algsort.out");
f>>n;
for(i=0;i<n;i++){
f>>x;
v.push_back(x);
if(x>maxim)
maxim=x;
}
int zec=1;
while(maxim){
radix(zec);
maxim/=10;
zec*=10;
}
for(i=0;i<n;i++)
g<<v[i]<<" ";
return 0;
}