Program Mencari Titik Terdekat
Agustus 1, 2012
#include iostream; #include math.h; using namespace std; struct Point{ int x,y; }; void duaTitikTerdekat(Point p[], int n, Point p1, Point p2){ double d,dmin,dmax,temp; int i,j; dmin=9999; for(i=1; i<=(n-1); i++){ for(j=i+1; j<=n; j++){ 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)); d=sqrt(temp); if(d<dmin){ dmin=d; p1=p[i]; p2=p[j]; } } } } int main(){ Point p[100]; int n; Point p1,p2; cout&amp;lt;&amp;lt;"Masukkan banyak titik : "; cin&amp;gt;&amp;gt;n; cout&amp;lt;&amp;lt;"Masukkan titik - titiknya : "&amp;lt;&amp;lt;endl; for(int i=0; i&amp;lt;n; i++){ cout&amp;lt;&amp;lt;"Titik ["&amp;lt;&amp;lt;i+1&amp;lt;&amp;lt;"] : "&amp;lt;&amp;lt;endl; cout&amp;lt;&amp;lt;"x : "; cin&amp;gt;&amp;gt;p[i].x; cout&amp;lt;&amp;lt;"y : "; cin&amp;gt;&amp;gt;p[i].y; } duaTitikTerdekat(p,n,p1,p2); cout&amp;lt;&amp;lt;endl; cout&amp;lt;&amp;lt;"Dua titik terdekat = "&amp;lt;&amp;lt;endl; cout&amp;lt;&amp;lt;"Titik pertama = ( "&amp;lt;&amp;lt;p1.x&amp;lt;&amp;lt;" , " &amp;lt;&amp;lt;p1.y&amp;lt;&amp;lt;" )"&amp;lt;&amp;lt;endl; cout&amp;lt;&amp;lt;"Titik kedua = ( "&amp;lt;&amp;lt;p2.x&amp;lt;&amp;lt;" , " &amp;lt;&amp;lt;p2.y&amp;lt;&amp;lt;" )"; cout&amp;lt;&amp;lt;endl; system("PAUSE"); return 0; }