Tugas
1

Program titik terdekat

Rabu, 24 Oktober 2012
Share this Article on :

01#include <iostream>
02#include <math.h>
03 
04using namespace std;
05 
06struct Point{
07       int x,y;
08       };
09        
10void duaTitikTerdekat(Point p[], int n, Point &p1, Point &p2){
11    double d,dmin,dmax,temp;
12    int i,j;
13    dmin=9999;
14    for(i=1; i<=(n-1); i++){
15             for(j=i+1; j<=n; j++){
16             temp=((p[i].x - p[j].x)*(p[i].x - p[j].x))-((p[i].y - p[j].y)*(p[i].y - p[j].y));
17             d=sqrt(temp);
18             if(d<dmin){
19                        dmin=d;
20                        p1=p[i];
21                        p2=p[j];
22                        }
23             }
24             }
25     
26    }
27 
28int main(){
29    Point p[100];
30    int n;
31    Point p1,p2;
32    cout<<"Masukkan banyak titik : ";
33    cin>>n;
34    cout<<"Masukkan titik - titiknya : "<<endl;
35    for(int i=0; i<n; i++){
36            cout<<"Titik ["<<i+1<<"] : "<<endl;
37            cout<<"x : "; cin>>p[i].x;
38            cout<<"y : "; cin>>p[i].y;
39            }
40    duaTitikTerdekat(p,n,p1,p2);
41    cout<<endl;
42    cout<<"Dua titik terdekat = "<<endl;
43    cout<<"Titik pertama = ( "<<p1.x<<" , " <<p1.y<<" )"<<endl;
44    cout<<"Titik kedua = ( "<<p2.x<<" , " <<p2.y<<" )";
45    cout<<endl;
46    system("PAUSE");
47    return 0;
48    }


Artikel Terkait:

1 komentar:

Posting Komentar