Masih dengan hacker rank. Di materi kali ini kita akan menyelesaikan persoalan tentang Plus Minus. Permasalahannya adalah kita harus menghitung rasio atau proporsi dari jumlah bilangan positf, bilangan negatif dan bilangan 0.
Cara menyelesaikannya cukup simple saja, disini saya akan menggunakan bahasa pemrograman C++. Kalian bisa tulis di kolom komentar jika meng-inginkan bahasa pemrograman lain.
Kasus : Plus Minus
Permasalahannya seperti ini jadi semisal ada array : [-4, 3, -9, 0, 4, 1]
Kita harus menemukan berapa banyak nilai negatif, positif dan nol. Lalu masing masing dibagi dengan jumlah nilai pada array. Semisal, jumlah nilai positif 3, negatif ada 2, nol sebanyak 1.
Berarti :
3/6 = 0.50000
2/6 = 0.33333
1/6 = 0.16667
Lalu kita tampilkan masing-masing hasilnya. Untuk menyelesaikannya kita perlu :
1) Perulangan untuk mengambil tiap nilai pada array
2) Variabel untuk mengampung jumlah nilai positif, negatif dan nol.
3) Mencari banyak data, dengan menggunakan size().
4) Percabangan IF untuk mengecek setiap nilai apakah nilai positif, negatif atau nol.
Kode programnya seperti ini :
void plusMinus(vector<int> arr) {
int i, jumlahP = 0, jumlahN = 0, jumlah0 = 0;
int arraySize = arr.size();
for(i = 0; i < arraySize; i++) {
// Jika Nilai Positif
if(arr[i] > 0) {
jumlahP += 1;
}
// Jika Nilai Negatif
else if(arr[i] < 0) {
jumlahN += 1;
}
// Nilai Nol
else {
jumlah0 += 1;
}
}
cout << (float)jumlahP / (float)arraySize <<"\n";
cout << (float)jumlahN / (float)arraySize <<"\n";
cout << (float)jumlah0 / (float)arraySize;
}
Sukses, semoga permanfaat.
Cara menyelesaikannya cukup simple saja, disini saya akan menggunakan bahasa pemrograman C++. Kalian bisa tulis di kolom komentar jika meng-inginkan bahasa pemrograman lain.
Kasus : Plus Minus
Permasalahannya seperti ini jadi semisal ada array : [-4, 3, -9, 0, 4, 1]
Kita harus menemukan berapa banyak nilai negatif, positif dan nol. Lalu masing masing dibagi dengan jumlah nilai pada array. Semisal, jumlah nilai positif 3, negatif ada 2, nol sebanyak 1.
Berarti :
3/6 = 0.50000
2/6 = 0.33333
1/6 = 0.16667
Lalu kita tampilkan masing-masing hasilnya. Untuk menyelesaikannya kita perlu :
1) Perulangan untuk mengambil tiap nilai pada array
2) Variabel untuk mengampung jumlah nilai positif, negatif dan nol.
3) Mencari banyak data, dengan menggunakan size().
4) Percabangan IF untuk mengecek setiap nilai apakah nilai positif, negatif atau nol.
Kode programnya seperti ini :
void plusMinus(vector<int> arr) {
int i, jumlahP = 0, jumlahN = 0, jumlah0 = 0;
int arraySize = arr.size();
for(i = 0; i < arraySize; i++) {
// Jika Nilai Positif
if(arr[i] > 0) {
jumlahP += 1;
}
// Jika Nilai Negatif
else if(arr[i] < 0) {
jumlahN += 1;
}
// Nilai Nol
else {
jumlah0 += 1;
}
}
cout << (float)jumlahP / (float)arraySize <<"\n";
cout << (float)jumlahN / (float)arraySize <<"\n";
cout << (float)jumlah0 / (float)arraySize;
}
Sukses, semoga permanfaat.
0 komentar:
Post a Comment