SORTING DATA DENGAN STRUCT DALAM BAHASA C
Dalam studi kasus pengimplementasian Sorting data menggunakan Struct "Tipe Data"Contoh Kasus:
Lomba lari dimana user dapat menginputkan jumlah pelari lalu dengan metode "Buble Sort" pelari yang tercepat dapat di identifikasikan.
#include <stdio.h>
#include <stdlib.h>
//Membuat struct untuk peserta dengan member : no, nama, jam, menit, detik, dan jumlah
struct peserta {
int no;
char nama[10]; //nama maksimal menggunakan 10 karakter
int jam;
int mnt;
int dtk;
int jml;
};
NEXT
int main()
{
int a,x,y,z,i;
//memasukan jumlah peserta kedalam variabel x
printf("Masukkan jumlah peserta ");
scanf("%d",&x);
//membuat variabel baru dari peserta dengan nama pes menggunakan array sejumlah inputan x, dan membuat variabel swap
struct peserta pes[x], swap;
//input member dari pes
for (i=0; i<x;i++) {
printf("No : ");
scanf("%d",&pes[i].no);
printf("Nama : ");
scanf("%s",&pes[i].nama);
printf("Jam : ");
scanf("%d",&pes[i].jam);
printf("Menit : ");
scanf("%d",&pes[i].mnt);
printf("Detik : ");
scanf("%d",&pes[i].dtk);
printf("-----------------------------\n");
//menghitung jumlah detik peserta
pes[i].jml = (pes[i].jam*3600)+(pes[i].mnt*60)+(pes[i].dtk);
};
//sorting menggunakan metode bubble sort
for(z=0; z<x-1; z++) {
for(y=0; y<x-1; y++) {
if(pes[y].jml > pes[y+1].jml) { //Swap menyimpan data sementara
swap = pes[y]; //mengisi swap dengan isi dari pes sekarang
pes[y] = pes[y+1]; //mengisi pes sekarang dengan pes selanjutnya
pes[y+1] = swap; //mengisi pes selanjutnya dengan swap
}
}
}
//tampilkan hasil setelah diurutkan
for(a=0; a<x; a++) {
printf("%d %s %d jam %d menit %d detik, total %d\n",pes[a].no,pes[a].nama,pes[a].jam,pes[a].mnt,pes[a].dtk,pes[a].jml);
}
}
"Selamat Mencoba "
Comments
Post a Comment