fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <cstdlib>
  4. #include <ctime>
  5. using namespace std;
  6.  
  7. struct Penduduk {
  8. int desa_id;
  9. double pendapatan;
  10. };
  11.  
  12. struct Desa {
  13. long jumlah = 0;
  14. double total = 0;
  15. };
  16.  
  17. int main() {
  18. srand(time(0));
  19. int jumlahDesa = 5, jumlahPenduduk = 50;
  20. vector<Penduduk> data(jumlahPenduduk);
  21. vector<Desa> desa(jumlahDesa + 1);
  22.  
  23. // LEVEL 1: Simpan data mentah
  24. for (auto &p : data) {
  25. p.desa_id = rand() % jumlahDesa + 1;
  26. p.pendapatan = 1000 + rand() % 9000;
  27. }
  28.  
  29. // LEVEL 2: Olah data (ringkasan per desa)
  30. for (auto &p : data) {
  31. desa[p.desa_id].jumlah++;
  32. desa[p.desa_id].total += p.pendapatan;
  33. }
  34.  
  35. // LEVEL 3: Hasil DSS (keputusan)
  36. int desaTerkaya = 1;
  37. double maxRata = 0;
  38. cout << "=== RINGKASAN DATA ===\n";
  39. for (int i = 1; i <= jumlahDesa; i++) {
  40. double rata = desa[i].jumlah ? desa[i].total / desa[i].jumlah : 0;
  41. cout << "Desa " << i << ": " << desa[i].jumlah
  42. << " penduduk | Rata Pendapatan: " << rata << endl;
  43. if (rata > maxRata) { maxRata = rata; desaTerkaya = i; }
  44. }
  45.  
  46. cout << "\n>>> Desa dengan rata-rata pendapatan tertinggi: Desa "
  47. << desaTerkaya << " (" << maxRata << ")\n";
  48. }
  49.  
Success #stdin #stdout 0s 5324KB
stdin
Standard input is empty
stdout
=== RINGKASAN DATA ===
Desa 1: 15 penduduk | Rata Pendapatan: 5592.6
Desa 2: 10 penduduk | Rata Pendapatan: 3156.3
Desa 3: 10 penduduk | Rata Pendapatan: 6523.5
Desa 4: 5 penduduk | Rata Pendapatan: 3628.2
Desa 5: 10 penduduk | Rata Pendapatan: 6073

>>> Desa dengan rata-rata pendapatan tertinggi: Desa 3 (6523.5)