Rabu, 09 September 2015

MENENTUKAN WAKTU PESERTA LOMBA LARI DARI YANG TERCEPAT

  No comments    
categories: 
Struct adalah sekumpulan variabel dimana dapat terdiri dari berbagai tipe data, dan dikelompokkan dalam satu nama. Contoh dari struct adalah menentukan waktu pelari yang tercepat,disini struct digambarkan dengan susunan no,nama,jam,menit,detik. Berikut adalah penulisan struct sebagai berikut:


#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:


*SEMOGA BERMANFAAT :)

0 komentar:

Posting Komentar