MENENTUKAN WAKTU PESERTA LOMBA LARI YANG TERCEPAT
Program ini di buat untuk menghitung dan mengetahui urutan data dari yang terkecil sampai yang paling besar. Seperti halnya urutan jarak atau total waktu yang ditempuh dalam suatu perlombaan lari, dengan menginputkan data dari masing-masing pelari tersebut. Berikut syntax program dalam bahasa C.#include <stdio.h>
#include <stdlib.h>
//Membuat struct untuk data pelari dengan nomor, nama, jam, menit, detik, dan hasil
struct pelari
{
char nama[50]; //nama maksimal menggunakan 50 karakter
int nomor;
int jam;
int menit;
int detik;
int hasil;
}
pel[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 p,r;
//p,r untuk menentukan variabel proses sorting
for(i=0;i<3;i++)
{
printf("\nNomor Pelari = ");
scanf("%d",&pel[i].nomor);
printf("Nama Pelari = ");
scanf("%s",&pel[i].nama);
printf("Jam Lari = ");
scanf("%d",&pel[i].jam);
printf("Menit Lari = ");
scanf("%d",&pel[i].menit);
printf("Detik Lari = ");
scanf("%d",&pel[i].detik);
//Rumus konversi hasil waktu pelari
pel[i].hasil=pel[i].jam*3600+pel[i].menit*60+pel[i].detik;
}
//Proses sorting menggunakan metode bubble sort
for(p=0;p<2;p++)
{
for(r=0;r<2;r++)
{
if (pel[r].hasil>pel[r+1].hasil)
{
swap=pel[r];
//mengisi swap dengan isi dari data pelari sekarang
pel[r]=pel[r+1];
//mengisi pes sekarang dengan data pelari selanjutnya
pel[r+1]=swap;
//mengisi data pelari selanjutnya dengan swap
}
}
}
//Untuk Menampilkan Hasil
for(total=0;total<3;total++)
{
printf(" Nomor Pelari : %d\n Nama : %s\n Jam : %d\n Menit : %d\n Detik : %d\n Hasil : %d\n\n\n",
pel[total].nomor, pel[total].nama, pel[total].jam, pel[total].menit, pel[total].detik, pel[total].hasil);
}
return 0;
}
Hasil program :
Posting Komentar