inilah program untuk mencari jarak 2 titik dengan menggunakan class titik.
comment ya kalo ada perbaiakan
#include <cstdlib>
#include <iostream>
using namespace std;
class Titik{
private :
double x, y;
public :
Titik();
Titik(double i, double j);
double jarak(Titik a, Titik b);
};
Titik::Titik(){}
Titik::Titik(double i, double j){
x=i;
y=j;
}
double Titik::jarak(Titik a, Titik b){
double panjang;
panjang = sqrt(((b.x-a.x)*(b.x-a.x))+((b.y-a.y)*(b.y-a.y)));
return panjang;
}
int main(int argc, char *argv[])
{
int n,a,b,x,y;
double jarak_min;
cout<<"Masukkan N titik : ";
cin>>n;
Titik t[n];
Titik pdk;
for(int i=0;i<n;i++){
cout<<"Masukkan koordinat titik ke-"<<i+1<<endl;
cout<<"x : ";
cin>>x;
cout<<"y : ";
cin>>y;
t[i] = Titik(x,y);
}
jarak_min = 1001;
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
cout<<"jarak titik "<<i+1<<" ke titik "<<j+1<<" = "<<pdk.jarak(t[i],t[j])<<endl;
if(pdk.jarak(t[i],t[j])<jarak_min){
jarak_min = pdk.jarak(t[i],t[j]);
a = i;
b = j;
}
}
}
cout<<"Dua Titik terpendek adalah sepanjang "<<jarak_min<<endl;
cout<<"Kedua Titik tersebut adalah titik ke - "<<a+1<<" dan Titik ke - "<<b+1<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
rujukan blog : adialamsyah.com
saya juga memiliki artikel yang serupa, dengan judul "
ReplyDeleteProgram Menghitung Jarak Dengan C++"