#include //clrscr() getch() #include //printf int sign(int x){return x>0?1:-1;}; void out(int x[15]){ printf("\n"); for(int j=0;j<5;j++) { for(int i=0;i<3;i++) {if (x[i+j*3]==1)textbackground(1); else textbackground(0); cprintf(" "); } printf("\n"); } textbackground(0);getch();clrscr(); } void main() { clrscr(); int W[15][15]; int x1[15]={1,-1,1, 1,-1,1, 1,-1,1, 1,1,1, 1,-1,1},//Буква Н x2[15]={1,1,1, 1,-1,1, 1,-1,1, 1,-1,1, 1,1,1},//Буква О x3[15]={1,1,1, 1,1,1, 1,-1,1, 1,1,1, 1,1,-1},//Буква ? y[15]; out(x1);//Образ на экране out(x2); //Создаем матрицу весов for(int j=0;j<15;j++) for(int i=0;i<15;i++) W[i][j]=x1[i]*x1[j]+x2[i]*x2[j]; //Обнуляем диагональ for(int i=0;i<15;i++)W[i][i]=0; for(int j=1;j<6;j++)// итерации { out(x3); printf("\n j=%1i\n ************** \n",j); for(int i=0;i<15;i++) {y[i]=0; for(int k=0;k<15;k++)y[i]+=W[i][k]*x3[k];} for(int i=0;i<15;i++)x3[i]=sign(y[i]);//обратная связь } }