// PR Bab 10, soal 3: Perbaiki kasus tepi. // // Program ini seharusnya: baca n lalu n bilangan, cetak rata-rata // bilangan yang positif dengan dua angka di belakang koma. Kalau tidak // ada bilangan positif, cetak 0.00. // // Ada tiga kesalahan yang hanya muncul pada kasus tepi: // - tidak ada bilangan positif sama sekali, // - n = 1, // - jumlah data melebihi batas int. // // Temukan ketiganya, tulis di sini, lalu perbaiki kodenya: // 1. // 2. // 3. // // Contoh masukan: 5 // 3 -1 8 -4 6 // Contoh keluaran: 5.67 // // Compile: g++ -std=c++17 -O2 -o tepipr exercises/10/homework/03-kasus-tepi.cpp // Jalankan: ./tepipr #include #include using namespace std; const int MAKS = 100005; int a[MAKS]; int main() { int n; cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; int jumlah = 0; int banyak = 0; for (int i = 1; i < n; i++) { if (a[i] > 0) { jumlah += a[i]; banyak++; } } cout << fixed << setprecision(2) << (double)jumlah / banyak << "\n"; return 0; }