program Radix sort

#include
#include
using namespace std;
int main(){
int a,b,leng,data[100],d,m,temp[100],index;
char ripit;
repeat:
cout<<"banyak data yang akan di urutkan = ";cin>>leng;
for (a=0;a
    {cout<<"data "<<(a+1)<<" = ";cin>>d;
    if (d<1000){data[a]=d;}else a--;
    }
cout<
cout<<"Your data:";
for (a=0;a
    {cout<<"\nData #"<<(a+1)<<" = "<

index=0;
for (a=0;a<=9;a++)//lsb  sort
    for (b=0;b
        {if (data[b]<100){m=data[b]%10;}else
                              {m=data[b]%100;m=m%10;}
        if (m==a){temp[index]=data[b];index++;}
        }
for (a=0;a<=9;a++) {data[a]=temp[a];}

index=0;
for (a=0;a<=9;a++)//csb  sort
    for (b=0;b
        {if (data[b]<100){m=data[b]/10;}else
                              {m=data[b]%100;m=m/10;}
         if (m==a){temp[index]=data[b];index++;}
        }
for (a=0;a<=9;a++) {data[a]=temp[a];}

index=0;
for (a=0;a<=9;a++)//msb  sort
    for (b=0;b
        {m=data[b]/100;
         if (m==a){temp[index]=data[b];index++;}
        }
for (a=0;a<=9;a++) {data[a]=temp[a];}
cout<< endl;
cout<<"\nAfter sorted\n";
for (a=0;a<(leng);a++)
    {cout<<
cout<<"\nrepeat? [y/n]";cin>>ripit;
if (ripit=='y'||ripit=='Y') goto repeat;
getch();
return 0;
}

Tidak ada komentar: