Pagini recente » Cod sursa (job #324532) | Cod sursa (job #2962539) | Cod sursa (job #1825702) | Cod sursa (job #633676) | Cod sursa (job #2184387)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("radixsort.in");
ofstream g("radixsort.out");
int main()
{
int n, ar[50], i, max=-1, p=1, d[10], j, grupe[50][50], k=0, c;
f>>n;
for(i=1; i<=n; i++) {f>>ar[i];
if(max<ar[i]) max=ar[i];}
while(max) {k++;
max/=10;}
for(int pas=1; pas<=k; pas++)
{
for(j=0; j<=9; j++)
d[j]=0;
for(j=1; j<=n; j++)
{
c=ar[j]/p%10;
d[c]++;
grupe[c][d[c]]=ar[j];
}
n=0;
for(i=0; i<10; i++)
for(j=1; j<=d[i]; j++) ar[++n]=grupe[i][j];
p*=10;
}
for(i=1; i<=n; i++)
g << ar[i] << " ";
f.close();
g.close();
return 0;
}