#include <iostream>
#include <cmath> // Diperlukan untuk fungsi sqrt() dan pow()
#include <iomanip> // Diperlukan untuk mengatur presisi keluaran
// Fungsi untuk menghitung jarak antara dua titik (x1, y1) dan (x2, y2)
double hitungJarak(double x1, double y1, double x2, double y2) {
// Menghitung perubahan pada sumbu x (delta x)
double deltaX = x2 - x1;
// Menghitung perubahan pada sumbu y (delta y)
double deltaY = y2 - y1;
// Menghitung kuadrat dari perubahan-perubahan tersebut
double deltaX_kuadrat = std::pow(deltaX, 2);
double deltaY_kuadrat = std::pow(deltaY, 2);
// Menerapkan rumus jarak Euclidean: sqrt((x2 - x1)^2 + (y2 - y1)^2)
double jarak = std::sqrt(deltaX_kuadrat + deltaY_kuadrat);
return jarak;
}
int main() {
// Mendefinisikan koordinat kedua titik
// Sesuai permintaan Anda, kita gunakan (3, 7) dan (10, 9.6)
double x1 = 3.0;
double y1 = 7.0;
double x2 = 10.0;
double y2 = 9.6;
// Menghitung jarak
double hasilJarak = hitungJarak(x1, y1, x2, y2);
// Menampilkan hasil
std::cout << "Titik Pertama (x1, y1): (" << x1 << ", " << y1 << ")" << std::endl;
std::cout << "Titik Kedua (x2, y2): (" << x2 << ", " << y2 << ")" << std::endl;
// Mengatur presisi keluaran menjadi 2 angka di belakang koma (atau sesuai kebutuhan)
std::cout << std::fixed << std::setprecision(2);
std::cout << "Jarak Euclidean Terjauh: " << hasilJarak << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+IC8vIERpcGVybHVrYW4gdW50dWsgZnVuZ3NpIHNxcnQoKSBkYW4gcG93KCkKI2luY2x1ZGUgPGlvbWFuaXA+IC8vIERpcGVybHVrYW4gdW50dWsgbWVuZ2F0dXIgcHJlc2lzaSBrZWx1YXJhbgoKLy8gRnVuZ3NpIHVudHVrIG1lbmdoaXR1bmcgamFyYWsgYW50YXJhIGR1YSB0aXRpayAoeDEsIHkxKSBkYW4gKHgyLCB5MikKZG91YmxlIGhpdHVuZ0phcmFrKGRvdWJsZSB4MSwgZG91YmxlIHkxLCBkb3VibGUgeDIsIGRvdWJsZSB5MikgewogICAgLy8gTWVuZ2hpdHVuZyBwZXJ1YmFoYW4gcGFkYSBzdW1idSB4IChkZWx0YSB4KQogICAgZG91YmxlIGRlbHRhWCA9IHgyIC0geDE7CiAgICAvLyBNZW5naGl0dW5nIHBlcnViYWhhbiBwYWRhIHN1bWJ1IHkgKGRlbHRhIHkpCiAgICBkb3VibGUgZGVsdGFZID0geTIgLSB5MTsKCiAgICAvLyBNZW5naGl0dW5nIGt1YWRyYXQgZGFyaSBwZXJ1YmFoYW4tcGVydWJhaGFuIHRlcnNlYnV0CiAgICBkb3VibGUgZGVsdGFYX2t1YWRyYXQgPSBzdGQ6OnBvdyhkZWx0YVgsIDIpOwogICAgZG91YmxlIGRlbHRhWV9rdWFkcmF0ID0gc3RkOjpwb3coZGVsdGFZLCAyKTsKCiAgICAvLyBNZW5lcmFwa2FuIHJ1bXVzIGphcmFrIEV1Y2xpZGVhbjogc3FydCgoeDIgLSB4MSleMiArICh5MiAtIHkxKV4yKQogICAgZG91YmxlIGphcmFrID0gc3RkOjpzcXJ0KGRlbHRhWF9rdWFkcmF0ICsgZGVsdGFZX2t1YWRyYXQpOwoKICAgIHJldHVybiBqYXJhazsKfQoKaW50IG1haW4oKSB7CiAgICAvLyBNZW5kZWZpbmlzaWthbiBrb29yZGluYXQga2VkdWEgdGl0aWsKICAgIC8vIFNlc3VhaSBwZXJtaW50YWFuIEFuZGEsIGtpdGEgZ3VuYWthbiAoMywgNykgZGFuICgxMCwgOS42KQogICAgZG91YmxlIHgxID0gMy4wOwogICAgZG91YmxlIHkxID0gNy4wOwogICAgZG91YmxlIHgyID0gMTAuMDsKICAgIGRvdWJsZSB5MiA9IDkuNjsKCiAgICAvLyBNZW5naGl0dW5nIGphcmFrCiAgICBkb3VibGUgaGFzaWxKYXJhayA9IGhpdHVuZ0phcmFrKHgxLCB5MSwgeDIsIHkyKTsKCiAgICAvLyBNZW5hbXBpbGthbiBoYXNpbAogICAgc3RkOjpjb3V0IDw8ICJUaXRpayBQZXJ0YW1hICh4MSwgeTEpOiAoIiA8PCB4MSA8PCAiLCAiIDw8IHkxIDw8ICIpIiA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgIlRpdGlrIEtlZHVhICh4MiwgeTIpOiAoIiA8PCB4MiA8PCAiLCAiIDw8IHkyIDw8ICIpIiA8PCBzdGQ6OmVuZGw7CgogICAgLy8gTWVuZ2F0dXIgcHJlc2lzaSBrZWx1YXJhbiBtZW5qYWRpIDIgYW5na2EgZGkgYmVsYWthbmcga29tYSAoYXRhdSBzZXN1YWkga2VidXR1aGFuKQogICAgc3RkOjpjb3V0IDw8IHN0ZDo6Zml4ZWQgPDwgc3RkOjpzZXRwcmVjaXNpb24oMik7CiAgICAKICAgIHN0ZDo6Y291dCA8PCAiSmFyYWsgRXVjbGlkZWFuIFRlcmphdWg6ICIgPDwgaGFzaWxKYXJhayA8PCBzdGQ6OmVuZGw7CiAgICAKICAgIHJldHVybiAwOwp9