?? c junzhi.cpp
字號(hào):
#include "stdio.h"
#include "math.h"
int x[20][2],y[20][2],z[20][2];
float a[2],b[2],a1[2],b1[2];
void main()
{
int i,j,k,temp=1;
float d1,d2;
x[0][0]=180; x[0][1]=80;
x[1][0]=158; x[1][1]=46;
x[2][0]=184; x[2][1]=78;
x[3][0]=156; x[3][1]=45;
x[4][0]=178; x[4][1]=75;
x[5][0]=182; x[5][1]=74;
x[6][0]=190; x[6][1]=81;
x[7][0]=158; x[7][1]=46;
x[8][0]=155; x[8][1]=42;
x[9][0]=159; x[9][1]=44;
x[10][0]=179; x[10][1]=63;
x[11][0]=156; x[11][1]=47;
x[12][0]=157; x[12][1]=48;
x[13][0]=179; x[13][1]=70;
x[14][0]=154; x[14][1]=50;
x[15][0]=150; x[15][1]=40;
x[16][0]=180; x[16][1]=76;
x[17][0]=153; x[17][1]=45;
x[18][0]=185; x[18][1]=75;
a[0]=180; a[1]=80; //初始聚類中心
b[0]=158; b[1]=46;
a1[0]=0; a1[1]=0;
b1[0]=0; b1[1]=0;
while(temp==1)
{
i=0;j=0;k=0;
do{
d1=sqrt((x[i][0] - a[0])*(x[i][0] - a[0]) + (x[i][1] - a[1])*(x[i][1] - a[1]));
d2=sqrt((x[i][0] - b[0])*(x[i][0] - b[0]) + (x[i][1] - b[1])*(x[i][1] - b[1]) );
if(d1<d2)
{ //按D分類
y[j][0]=x[i][0];
y[j][1]=x[i][1];
j++;
}
else
{
z[k][0]=x[i][0];
z[k][1]=x[i][1];
k++;
}
i++;
}while(i<=14);
for(i=0;i<=j;i++)
{
a1[0]=a1[0]+y[i][0];
a1[1]=a1[1]+y[i][1];
}
a1[0]=a1[0] / j;
a1[1]=a1[1] / j;
for(i=0;i<=k;i++)
{
b1[0]=b1[0]+z[i][0];
b1[1]=b1[1]+z[i][1];
}
b1[0]=b1[0] / k;
b1[1]=b1[1] / k;
if( (a1[0]==a[0]) && (a1[1]==a[1]) && (b1[0]==b[0]) && (b1[1]==b[1]) )
temp=0;
a[0]=a1[0]; a[1]=a1[1];
b[0]=b1[0]; b[1]=b1[1];
a1[0]=0; a1[1]=0;
b1[0]=0; b1[1]=0;
}
printf("已知的模式向量:\n");
for (i=0;i<=14;i++)
{
printf("x[%d]: %d %d\n",i,x[i][0],x[i][1]);
}
printf("待分類的模式向量:\n");
for (i=15;i<=18;i++)
{
printf("x[%d]: %d %d\n",i,x[i][0],x[i][1]);
}
printf("\n");
printf("體操類的聚類中心為:%f %f\n",a[0],a[1]);
printf("藍(lán)球類的聚類中心為:%f %f\n",b[0],b[1]);
printf("\n");
printf("分類結(jié)果為:\n");
for(i=15;i<=18;i++)
{
d1=sqrt((x[i][0]-a[0])*(x[i][0]-a[0]) + (x[i][1]-a[1])*(x[i][1]-a[1]) );
d2=sqrt((x[i][0]-b[0])*(x[i][0]-b[0]) + (x[i][1]-b[1])*(x[i][1]-b[1]) );
if(d1<d2) printf("x[%d]屬于籃球隊(duì)員\n",i);
else printf("x[%d]屬于體操隊(duì)員\n",i);
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -