// PR Bab 10, tantangan: Penguji pembanding. // // Soal: cetak selisih terbesar antara dua elemen array. // // Fungsi lambat() pasti benar. Fungsi cepat() mengandung satu bug. // Tugasmu: // 1. Tulis perulangan penguji di main: bangkitkan array acak kecil // (n antara 1 dan 6, nilai -10 sampai 10), bandingkan kedua fungsi, // cetak kasus pertama yang berbeda lalu berhenti. // 2. Perbaiki bug di cepat(). // // Compile: g++ -std=c++17 -O2 -o ujibanding exercises/10/homework/05-uji-banding.cpp // Jalankan: ./ujibanding #include #include using namespace std; int lambat(int a[], int n) { int terbesar = 0; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (a[i] - a[j] > terbesar) terbesar = a[i] - a[j]; return terbesar; } int cepat(int a[], int n) { int besar = a[0], kecil = a[0]; for (int i = 1; i < n - 1; i++) { // ada yang salah di sini if (a[i] > besar) besar = a[i]; if (a[i] < kecil) kecil = a[i]; } return besar - kecil; } int main() { srand(12345); // Tulis perulangan pengujimu di sini: return 0; }