Nah, kali ini lanjutan postingan yang sebelumnya. Masih seputar tugas yang dihadapi adik leting, dan ini merupakan soal dan jawaban dari nomor 1. Berikut ini soalnya :
Anda diminta untuk membuat program yang dapat menentukan nilai maksimum dan minimum dari sejumlah data. Data adalah bilangan real sebanyak n. Dari n data tersebut, tentukan nilai maksimum dan minimumnya. Lakukan pemeriksaan (validasi) terhadap input n dan pastikan bahwa nilai n berada pada interval 0 < n <= 30. Jika nilai n diinput negatif atau lebih besar dari 30, beri pesan di layar monitor bahwa nilai n salah dan user diminta untuk menginput ulang nilai n tersebut.
Contoh Input:
Jumlah data (n): 8
Data ke 1 : 23
Data ke 2 : 65.7
Data ke 3 : 14
Data ke 4 : 5
Data ke 5 : 28.2
Data ke 6 : 51
Data ke 7 : 5
Data ke 8 : 40
Contoh output:
Nilai minimum : 5
Nilai maksimum : 65.7
Nah, kira -kira beginilah coding yang saya buat :
/*Program menghitung Nilai Minimum dan Maksimum*/
#include <stdio.h>
#define N 30
int main (void) {
int i,j,data[N],nmin,nmaks; /*Pendeklarasian Variabel*/
printf("\nProgram menghitung Nilai Minimum dan Maksimum\n=============================================\n");
ulangi:/*sintax untuk perulangan menggunakan goto*/
printf("\nmasukkan jumlah data : ");
scanf("%d",&j);
if(j>0 && j<=30){
for(i=1;i<=j;i++){
printf("Data ke %d:",i);scanf("%d",&data[i]);
}
nmin=data[1];/*sintax mencari niali minimal*/
for(i=1;i<=j;i++){
if(nmin>data[i])
nmin=data[i];
}
nmaks=data[1];/*sintax mencari niali maksimal*/
for(i=1;i<=j;i++){
if(nmaks<data[i])
nmaks=data[i];
}
printf("Nilai minimum : %d",nmin);
printf("\nNilai Maksimum : %d\n\n",nmaks);
}else if(j<1){
printf("Maaf, Nilai yang anda masukkan tidak boleh kurang dari 1\n");
goto ulangi;/*sintax untuk perulangan goto*/
}else {
printf("Maaf, Nilai yang anda masukkan tidak boleh lebih dari 30\n");
goto ulangi;
}
return 0;
}
NOTE
Disini saya menggunakan goto, sebenarnya ini tidak di anjurkan dalam pemrograman karena merusak alur pada program. Contohnya pada program si atas, ketika program sudah di akhir-akhir baris, program akan kembali lagi ke baris-baris awal. dikarenakan goto.
Screenshot Output :
bagi yang mengininkan Soal dan Jawaban nomor 2, ada
disini.
Min, gimana kalau langsung 5 bilangan.. Tanpa menuliskan jumlah data
BalasHapus