Affanoer

Rabu, 14 Juli 2010

SHORTING C++

SHORTING C++ OLEH AFFANNUR
#include
#include
#include //karena menggunakan fungsi strcpy() dan strcmp()

int main()
{
    typedef struct{
       char NPM[9];
       float Nilai;
    } Data_Mahasiswa;

    Data_Mahasiswa DatMahasiswa[25];
    char TempNPM[8];
    int TempNilai,i,j,k,N,y;

    printf("Masukan banyaknya nilai yang akan diinput: ");scanf("%d",&N); //input banyaknya nilai yang akan diinput
    printf("\nSilahkan Input Data: \n");

   //pengulangan untuk input nilai
   for(i=1;i<=N;i++)
   {
        printf("Data ke-%d\n",i);
        printf("NPM   : ");scanf("%s",&DatMahasiswa[i].NPM);
        printf("Nilai : ");scanf("%f",&DatMahasiswa[i].Nilai);
        printf("\n");
    }

   //proses insertion sort
    printf("\nProses Insertion Sort NPM Secara Ascending");
    for(k=1;k<=N;k++)
   {
        printf("\n");
        strcpy(TempNPM,DatMahasiswa[k].NPM);
        TempNilai = DatMahasiswa[k].Nilai;
        j = k;

        while(strcmp(TempNPM,DatMahasiswa[j-1].NPM)<0 && j>1)
      {
            strcpy(DatMahasiswa[j].NPM,DatMahasiswa[j-1].NPM);
            DatMahasiswa[j].Nilai=DatMahasiswa[j-1].Nilai;
            j=j-1;
        }
        strcpy(DatMahasiswa[j].NPM,TempNPM);
        DatMahasiswa[j].Nilai = TempNilai;

        //menampilkan proses sorting
        for(y=1;y<=N;y++)
        printf("%s",DatMahasiswa[y].NPM);
    }
    printf("\n\nSetelah Disorting Secara Ascending\n");
    for(i=1;i<=N;i++) //pengulangan untuk menampilkan
    {
      //menampilkan nilai array yang ke-i
        printf("\nData ke-%d",i);
        printf("\nNPM   : %s",DatMahasiswa[i].NPM);
        printf("\nNilai : %4.2f\n",DatMahasiswa[i].Nilai);
   }
    printf("\n\n");
    //system("pause");
   return 0;
}

Tidak ada komentar:

Posting Komentar