1. Buat sebuah program yang dapat digunakan untuk mendata hasil pertandingan lompat tinggi dari sejumlah peserta. Lalu urutkan peserta berdasarkan tinggi lompatan.
Jawab :
#include
#include
typedef struct Peserta
{
int Nomor;
char Nama[50];
float TinggiLompatan;
} PESERTA;
const int N = 3;
PESERTA PesertaLompatTinggi[N];
 void InputPeserta()
{
int No;
char Nama[50];
float Tinggi;
for(int i = 0; i < N; i++)
{
printf("\n Input Peserta ke - %d",i+1);
printf("\n=========================================\n");
printf(" Masukan Nomor Peserta   : ");
fflush(stdin); scanf("%d",&No);
printf(" Masukan Nama Peserta   : ");
fflush(stdin); gets(Nama);
printf(" Masukan Tinggi Lompatan  :" );
fflush(stdin); scanf("%f",&Tinggi);
  printf("\n========================================\n");
 Â
  PesertaLompatTinggi[i].Nomor = No;
  strcpy(PesertaLompatTinggi[i].Nama, Nama);
  PesertaLompatTinggi[i].TinggiLompatan = Tinggi;
}
}
 Â
 void Sort()
{
printf("\n Urutan Peserta Berdasarkan Tinggi Lompatan : \n");
PESERTA Temp;
for (int i = 0; i < N; i++)
{
for (int j = i + 1; j < N; j++)
{
if (PesertaLompatTinggi[i].TinggiLompatan < PesertaLompatTinggi[j].TinggiLompatan)
{
Temp = PesertaLompatTinggi[i];
PesertaLompatTinggi[i] = PesertaLompatTinggi[j];
PesertaLompatTinggi[j] = Temp;
}
}
printf("\n========================================");
printf("\n Peserta Nomor - %d",PesertaLompatTinggi[i].Nomor);
printf("\n Nama Peserta - %s",PesertaLompatTinggi[i].Nama);
printf("\n Tinggi Lompatan - %g Meter",PesertaLompatTinggi[i].TinggiLompatan);
printf("\n========================================");
printf("\n");
  }
}
main()
{
// Program ini Milik Varel
printf("\n - Pertandingan Lompat Tinggi - \n");
InputPeserta();
Sort();
}
2. Buatlah program yang dapat digunakan untuk mengolah hasil pertandingan balap sepeda sehingga program dapat menentukan dan menampilkan para juara lomba.
Jawab :
#include
#include
typedef struct Peserta
{
int Nomor;
char Nama[50];
float LamaWaktu;
} PESERTA;
const int N = 3;
PESERTA PesertaBalapSepeda[N];
 void InputPeserta()
{
int No;
char Nama[50];
int Waktu;
for(int i = 0; i < N; i++)
{
printf("\n Input Peserta ke - %d",i+1);
printf("\n=========================================\n");
printf(" Masukan Nomor Peserta       : ");
fflush(stdin); scanf("%d",&No);
printf(" Masukan Nama Peserta        : ");
fflush(stdin); gets(Nama);
printf(" Masukan Lama Waktu (Dalam Menit) Â :" );
fflush(stdin); scanf("%d",&Waktu);
  printf("\n========================================\n");
 Â
  PesertaBalapSepeda[i].Nomor = No;
  strcpy(PesertaBalapSepeda[i].Nama, Nama);
  PesertaBalapSepeda[i].LamaWaktu = Waktu;
}
}
 Â
 void Sort()
{
PESERTA Temp;
for (int i = 0; i < N; i++)
{
for (int j = i + 1; j < N; j++)
{
if (PesertaBalapSepeda[i].LamaWaktu > PesertaBalapSepeda[j].LamaWaktu)
{
Temp = PesertaBalapSepeda[i];
PesertaBalapSepeda[i] = PesertaBalapSepeda[j];
PesertaBalapSepeda[j] = Temp;
}
}
  }
}
void HasilJuara()
{
printf("\n Urutan Juara Berdasarkan Kecepatan Mencapai Finish : \n");
for(int i = 0; i < N; i++)
  {
printf("\n==================================================");
printf("\n Peserta Nomor - %d",PesertaBalapSepeda[i].Nomor);
printf("\n Nama Peserta - %s",PesertaBalapSepeda[i].Nama);
printf("\n Mencapai Finish Dalam %d Menit",PesertaBalapSepeda[i].LamaWaktu);
printf("\n");
printf("\n Peserta Mendapat JUARA - %d,",i+1);
printf("\n==================================================");
printf("\n");
  }
}
main()
{
// Program ini Milik Varel
printf("\n - Pertandingan Balap Sepeda - \n");
InputPeserta();
Sort();
HasilJuara();
}
Follow Instagram @kompasianacom juga Tiktok @kompasiana biar nggak ketinggalan event seru komunitas dan tips dapat cuan dari Kompasiana
Baca juga cerita inspiratif langsung dari smartphone kamu dengan bergabung di WhatsApp Channel Kompasiana di SINI