#include <stdio.h>
#include <stdlib.h>
//Membuat struct untuk data pelari dengan no, nama, jam, menit, detik, dan hasil
struct pelari
{
char nama[35]; //nama maksimal menggunakan 35 karakter
int no;
int jam;
int menit;
int detik;
int hasil;
}
data_pelari[3],swap;
//[3] untuk menentukan jumlah peserta pelari, swap digunakan untuk melakukan sorting dan juga bisa diganti dengan variable yang lain
int main()
{
int i,total;
//i digunakan untuk looping, total digunakan untuk menampilkan hasil
int x,y;
//x,y untuk menentukan variabel proses sorting
for(i=0;i<3;i++)
{
printf("\nNo Pelari = ");
scanf("%d",&data_pelari[i].no);
printf("Nama Pelari = ");
scanf("%s",&data_pelari[i].nama);
printf("Jam Lari = ");
scanf("%d",&data_pelari[i].jam);
printf("Menit Lari = ");
scanf("%d",&data_pelari[i].menit);
printf("Detik Lari = ");
scanf("%d",&data_pelari[i].detik);
//Rumus konversi hasil waktu pelari
data_pelari[i].hasil=data_pelari[i].jam*3600+data_pelari[i].menit*60+data_pelari[i].detik;
}
//Proses sorting menggunakan metode bubble sort
for(x=0;x<2;x++)
{
for(y=0;y<2;y++)
{
if (data_pelari[y].hasil>data_pelari[y+1].hasil)
{
swap=data_pelari[y];
//mengisi swap dengan isi dari data pelari sekarang
data_pelari[y]=data_pelari[y+1];
//mengisi pes sekarang dengan data pelari selanjutnya
data_pelari[y+1]=swap;
//mengisi data pelari selanjutnya dengan swap
}
}
}
//Untuk Menampilkan Hasil
for(total=0;total<3;total++)
{
printf("No Pelari : %d\nNama : %s\n Jam :%d\n Menit : %d\n Detik : %d\n Hasil:%d\n\n\n", data_pelari[total].no, data_pelari[total].nama, data_pelari[total].jam, data_pelari[total].menit, data_pelari[total].detik,data_pelari[total].hasil);
}
return 0;
}
Berikut adalah hasil dari struct pelari yang belum terurut:
Berikut adalah hasil dari struct data pelari yang sudah terurut dari yang paling kecil:
0 komentar:
Posting Komentar