01 | #include <iostream> |
02 | #include <math.h> |
03 |
04 | using namespace std; |
05 |
06 | struct Point{ |
07 | int x,y; |
08 | }; |
09 | |
10 | void 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 |
28 | int 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 | } |

1 komentar:
:f:
Posting Komentar