fork download
  1. #include <iostream>
  2. #include <cmath>
  3. #include <iomanip>
  4.  
  5. int main() {
  6. // Definisi masukan dan jarak yang diinginkan
  7. const double D_TARGET = 9.6; // Jarak yang diinginkan
  8. double x1 = 3.0;
  9. double y1 = 7.0;
  10. double x2 = 10.0;
  11.  
  12. // 1. Hitung (x2 - x1)^2
  13. double deltaX_sq = std::pow(x2 - x1, 2); // (10 - 3)^2 = 7^2 = 49
  14.  
  15. // 2. Hitung D^2 - (x2 - x1)^2
  16. double D_sq = std::pow(D_TARGET, 2); // 9.6^2 = 92.16
  17. double term_in_sqrt = D_sq - deltaX_sq; // 92.16 - 49 = 43.16
  18.  
  19. // Periksa jika solusi real mungkin (nilai di dalam akar tidak negatif)
  20. if (term_in_sqrt < 0) {
  21. std::cerr << "Kesalahan: Jarak yang diinginkan (" << D_TARGET
  22. << ") terlalu kecil untuk selisih x yang ada (" << std::sqrt(deltaX_sq)
  23. << ")." << std::endl;
  24. return 1;
  25. }
  26.  
  27. // 3. Hitung akar kuadrat dari term_in_sqrt
  28. double sqrt_term = std::sqrt(term_in_sqrt); // sqrt(43.16) ~= 6.57
  29.  
  30. // 4. Hitung dua kemungkinan nilai y2
  31. // Ada dua titik di sumbu y yang memenuhi jarak 9.6
  32. double y2_option1 = y1 + sqrt_term; // 7 + 6.57...
  33. double y2_option2 = y1 - sqrt_term; // 7 - 6.57...
  34.  
  35. // --- Verifikasi dan Keluaran ---
  36.  
  37. // Menampilkan hasil
  38. std::cout << "Titik Pertama (x1, y1): (" << x1 << ", " << y1 << ")" << std::endl;
  39. std::cout << "Titik Kedua x2: " << x2 << std::endl;
  40. std::cout << "Jarak Euclidean yang Diinginkan (D): " << D_TARGET << std::endl;
  41.  
  42. // Mengatur presisi keluaran
  43. std::cout << std::fixed << std::setprecision(2);
  44.  
  45. std::cout << "\nJika Jarak = 9.6, maka koordinat y2 adalah salah satu dari:" << std::endl;
  46. std::cout << "y2 Pertama: " << y2_option1 << std::endl;
  47. std::cout << "y2 Kedua: " << y2_option2 << std::endl;
  48.  
  49. std::cout << "\nSehingga Jarak Terjauh adalah: " << D_TARGET << std::endl;
  50.  
  51. return 0;
  52. }
Success #stdin #stdout 0s 5316KB
stdin
37
10
stdout
Titik Pertama (x1, y1): (3, 7)
Titik Kedua x2: 10
Jarak Euclidean yang Diinginkan (D): 9.6

Jika Jarak = 9.6, maka koordinat y2 adalah salah satu dari:
y2 Pertama: 13.57
y2 Kedua: 0.43

Sehingga Jarak Terjauh adalah: 9.60