Tuesday, April 08, 2014

C++ Mencari Jarak 2 Titik Terpendek dengan Class Titik

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  

1 comments: