Program Sorting
Assalamualaikum wr.wb
Hallo sahabat blogger, pada kesempatan kali ini saya akan memposting tentang pemrograman bahasa C, program kali ini lebih kompleks dari program program yang pernah saya posting karena terdapat teknik sorting (pengurutan) didalamnya. Ada banyak teknik sorting (pengurutan) seperti insertion sort, quick sort, bubble sort dan masih banyak lagi, pada kesempatan ini teknik yang saya gunakan adalah teknik bubble sort, langsung saja ke programnya, yaitu untuk melakukan sorting pada total waktu dari yang terkecil ke yang terbesar, berikut adalah script untuk program tersebut :
#include <stdio.h>
#include <stdlib.h>
struct data{
int no, jam, menit, detik, jumlah;
char nama[30];
};
int main()
{
int a, i, j, k, x;
printf("Masukkan jumlah Peserta : ");
scanf("%d",&a);
struct data peserta[a], temp;
printf("\n");
for(i=0; i<a; i++){
printf("No : ");
scanf("%d", &peserta[i].no);
printf("Nama : ");
scanf("%s", &peserta[i].nama);
printf("Jam : ");
scanf("%d", &peserta[i].jam);
printf("Menit : ");
scanf("%d", &peserta[i].menit);
printf("Detik : ");
scanf("%d", &peserta[i].detik);
printf("\n");
peserta[i].jumlah = (peserta[i].jam*3600) + (peserta[i].menit*60) + (peserta[i].detik);
};
for(j=0; j<a-1; j++){
for(k=0; k<a-1; k++){
if(peserta[k].jumlah > peserta[k+1].jumlah){
temp = peserta[k];
peserta[k] = peserta[k+1];
peserta[k+1] = temp;
}
}
}
printf("No \t Nama \t Jam \t Menit \t Detik \t Total(detik)\n");
for(x=0; x<a; x++){
printf("%d \t %s \t %d \t %d \t %d \t %d \n",peserta[x].no, peserta[x].nama, peserta[x].jam, peserta[x].menit, peserta[x].detik, peserta[x].jumlah);
}
}
dan untuk hasilnya setelah dijalankan yaitu
program akan mengurutkan dari total waktu yang terkecil sampai yang paling besar.
Sekian dari saya, semoga bermanfaat.
Wassalamu'alaikum wr.wb

Komentar
Posting Komentar