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