📄 ganzhiqi.cpp
字号:
#include "stdio.h"
#include "math.h"
int x[15][3],y[4][2];
float w[3],w1[3];
float m,d;
int i,j,k,a,b;
void chushihua()
{
for(i=0;i<15;i++)
//for(j=0;j<3;j++)
x[i][2]=1;
for(i=0;i<3;i++)
w1[i]=1;
x[0][0]=180; x[0][1]=80;
x[1][0]=-158; x[1][1]=-46; x[1][2]=-1;
x[2][0]=184; x[2][1]=78;
x[3][0]=-156; x[3][1]=-45; x[3][2]=-1;
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[7][2]=-1;
x[8][0]=-155; x[8][1]=-42; x[8][2]=-1;
x[9][0]=-159; x[9][1]=-44; x[9][2]=-1;
x[10][0]=179; x[10][1]=63;
x[11][0]=-156; x[11][1]=-47; x[11][2]=-1;
x[12][0]=-157; x[12][1]=-48; x[12][2]=-1;
x[13][0]=179; x[13][1]=70;
x[14][0]=-154; x[14][1]=-50; x[13][2]=-1;
y[0][0]=150; y[0][1]=40;
y[1][0]=180; y[1][1]=76;
y[2][0]=153; y[2][1]=45;
y[3][0]=185; y[3][1]=75;
}
int test()
{ int b=0;
for(i=0;i<15;i++)
{d=0;
for(j=0;j<3;j++)
{m=x[i][j]*w1[j];
d=d+m;
}
if(d>0) b++;
}
if(b==15) return 1;
else return 0;
}
void ganzhiqi()
{ int flag=0;
while(flag==0) {
for(i=0;i<15;i++)
{d=0;
for(j=0;j<3;j++)
{m=x[i][j]*w1[j]; //temp=x[i][j]*w[j];
d=d+m;
}
if(d>0)
{ for(k=0;k<3;k++)
w1[k]=w[k];}
else{for(k=0;k<3;k++)
{w1[k]=w[k]+x[i][k];
w[k]=w1[k];}
}//else
}//for
flag=test();
}
}
void main()
{
chushihua();
ganzhiqi();
printf("已知的模式向量:\n");
printf("篮球运动员:\n");
for (i=0;i<15;i++)
{ if(x[i][0]>0)
printf("x[%d]: %d %d\n",i,x[i][0],x[i][1]);
}
printf("体操运动员:\n");
for (i=0;i<15;i++)
{ if(x[i][0]<0)
printf("x[%d]: %d %d\n",i,-x[i][0],-x[i][1]);
}
printf("待分类的模式向量:\n");
for (i=0;i<4;i++)
{
printf("y[%d]: %d %d\n",i,y[i][0],y[i][1]);
}
for(i=0;i<4;i++)
{d=0;
for(j=0;j<3;j++)
{m=y[i][j]*w1[j];
d=d+m;
}
if(d>0) printf("%d号运动员属于篮球运动员\n",i);
else printf("%d号运动员属于体操运动员\n",i);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -