Cod sursa(job #1082893)

Utilizator Aleks10FMI - Petrache Alex Aleks10 Data 15 ianuarie 2014 00:33:24
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
//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;
}