Cod sursa(job #2290666)

Utilizator dragos99Homner Dragos dragos99 Data 26 noiembrie 2018 20:13:41
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include<fstream>
#include<vector>
using namespace std;
    ifstream f("algsort.in");
    ofstream g("algsort.out");

long n;

int main()
{
f>>n;
long a[n], v[10][n];
for(int i = 0 ; i < n ; i++)
    f>>a[i];

long long ok = 1, p = 1, cifra;
while(ok){
    ok = 0;
    for(int i = 0 ; i < 10 ; i++)
        v[i][0] = 0 ;
    for(int i = 0 ; i < n ; i++){
        cifra = a[i] / p % 10;
        v[cifra][ ++v[cifra][0] ] = a[i];
        if(cifra)
            ok = 1;
    }
    int k = 0;
    for(int i = 0 ; i < 10 ; i++)
        for(int j = 1 ; j <= v[i][0] ; j++){
            a[k++] = v[i][j];
        }
    p *= 10;
}
for(int i = 0 ; i < n ; i++)
    g<<a[i]<<" ";
return 0;
}