這裏我有一些問題需要在C代碼中分組。以下是我的C代碼:如何分成兩組?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
int inp;
inp = 15;
signed int cx[15], cy[15];
cx[0] = 1;
cx[1] = 7;
cx[2] = -2;
cx[3] = -3;
cx[4] = -2;
cx[5] = -2;
cx[6] = -10;
cx[7] = 0;
cx[8] = -1;
cx[9] = 8;
cx[10] = 9;
cx[11] = 10;
cx[12] = -7;
cx[13] = 12;
cx[14] = 11;
cy[0] = -8;
cy[1] = -1;
cy[2] = -10;
cy[3] = -8;
cy[4] = -6;
cy[5] = -10;
cy[6] = 12;
cy[7] = 0;
cy[8] = 5;
cy[9] = -1;
cy[10] = 13;
cy[11] = -10;
cy[12] = 3;
cy[13] = 13;
cy[14] = 0;
int j;
printf ("\n Input (x,y) :\n\n");
for (j=0; j<inp; j++){
printf (" X%d :(%d,%d)\n",(j+1),cx[j],cy[j]);}
printf ("\n Initial value of 2 centers :\n");
printf ("\n Y1 = X1 : (%d,%d)\n",cx[0],cy[0]);
printf (" Y2 = X2 : (%d,%d)\n",cx[1],cy[1]);
printf ("\n Objects-centers distance :\n\n");
for(j=2; j<inp; j++){
float dis1, dis2;
dis1 = sqrt((cx[j]-cx[0])*(cx[j]-cx[0])+(cy[j]-cy[0])*(cy[j]-cy[0]));
dis2 = sqrt((cx[j]-cx[1])*(cx[j]-cx[1])+(cy[j]-cy[1])*(cy[j]-cy[1]));
printf(" X%d -> Y1 : %.5f\t X%d -> Y2 : %.5f\n", (j+1), dis1, (j+1), dis2);}
printf ("\n Objects gouping :\n");
}
如何分成兩組?第一組是最靠近第一中心點的點,第二組是離第二中心點最近的一點。
這是很難讀的。請縮進您的代碼並在操作員之間使用空格。 – 2011-04-17 02:34:02
我不明白你的意思是什麼。你在問團體還是要點? – Gabe 2011-04-17 02:36:35
我有15分,然後我宣佈第一點和第二點爲中心點。之後,我計算了其他點與中心點之間的距離。最後,我想分兩組參考中心點。 – 2011-04-17 02:41:04