fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <cmath> // Untuk fungsi std::abs
  4. #include <algorithm> // Untuk std::max
  5.  
  6. struct Titik {
  7. double x;
  8. double y; // Y tidak diperlukan untuk jarak horizontal, tetapi umumnya ada dalam koordinat
  9. };
  10.  
  11. int main() {
  12. std::vector<Titik> titik_titik = {
  13. {1.0, 2.0},
  14. {5.0, 7.0},
  15. {3.0, 1.0},
  16. {10.0, 4.0}
  17. };
  18.  
  19. if (titik_titik.empty()) {
  20. std::cout << "Tidak ada titik untuk dihitung." << std::endl;
  21. return 1;
  22. }
  23.  
  24. // Inisialisasi jarak horizontal terjauh dengan jarak antara titik pertama dan kedua
  25. double jarak_horizontal_terjauh = 0.0;
  26.  
  27. // Hitung jarak horizontal antar semua pasangan titik
  28. for (size_t i = 0; i < titik_titik.size(); ++i) {
  29. for (size_t j = i + 1; j < titik_titik.size(); ++j) {
  30. double selisih_x = titik_titik[i].x - titik_titik[j].x;
  31. double jarak_saat_ini = std::abs(selisih_x); // Menggunakan std::abs untuk nilai mutlak
  32.  
  33. // Perbarui jarak terjauh jika jarak saat ini lebih besar
  34. if (jarak_saat_ini > jarak_horizontal_terjauh) {
  35. jarak_horizontal_terjauh = jarak_saat_ini;
  36. }
  37. }
  38. }
  39.  
  40. std::cout << "Jarak horizontal terjauh adalah: " << jarak_horizontal_terjauh << std::endl;
  41.  
  42. return 0;
  43. }
Success #stdin #stdout 0s 5312KB
stdin
37
10
stdout
Jarak horizontal terjauh adalah: 9