#include
#include
#include
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