Pagini recente » Cod sursa (job #2893483) | Cod sursa (job #1448752) | Cod sursa (job #1916474) | Cod sursa (job #1023375) | Cod sursa (job #712677)
Cod sursa(job #712677)
#include<cstdio>
#include<cstring>
using namespace std;
int x,j,mx,n,p,a[10001],b[10001],i,cif,c[11];
void rad (int cif)
{
for (i=1;i<=cif;i++)
{
memset(c,0,sizeof(c));
for (j=1;j<=n;j++)
{
c[a[j]/p%10+1]++;
}
c[0]=0;
for (j=1;j<=10;j++)
{
c[j]+=c[j-1];
}
for (j=1;j<=n;j++)
{
b[c[a[j]/p%10]+1]=a[j];
c[a[j]/p%10]++;
}
for (j=1;j<=n;j++)
a[j]=b[j];
p*=10;
}
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++)
{
scanf("%d",&a[i]);
if (a[i]>mx)
mx=a[i];
}
x=0;
while (mx>0)
{
x++;
mx/=10;
}
p=1;
rad(x);
for(i=1;i<=n;i++)
printf("%d ",a[i]);
}