Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <random>
- int Delta(int i, int j);
- int FunkcjaWyjscia(int net, int yt);
- void Print(int tab[35]);
- int main()
- {
- //int p2[] = { 1,1,1,1,1 , 1,-1,-1,-1,-1 , 1,-1,-1,-1,-1 , 1,-1,-1,-1,-1 , 1,-1,-1,-1,-1 , 1,-1,-1,-1,-1 , 1,1,1,1,1 };
- //int p3[] = { 1,-1,-1,-1,1 , -1,1,-1,1,-1 , -1,-1,1,-1,-1 , -1,-1,1,-1,-1 , -1,-1,1,-1,-1 , -1,1,-1,1,-1 , 1,-1,-1,-1,1 }; //X
- //int p4[] = { -1,-1,1,-1,-1 , -1,-1,1,-1,-1 , -1,-1,1,-1,-1 , -1,-1,1,-1,-1 , -1,-1,1,-1,-1 , -1,-1,1,-1,-1 , -1,-1,1,-1,-1 }; //I
- bool petla = true;
- double P[4][35];
- for (int i = 0; i < 4; i++)
- {
- for (int j = 0; j < 35; j++)
- {
- std::cin >> P[i][j];
- }
- }
- double wij[35][35] = { 0 };
- for (int i = 0; i < 35; i++)
- {
- for (int j = 0; j < 35; j++)
- {
- double temp = 0.0;
- for (int m = 0; m < 4; m++)
- {
- temp += P[m][i] * P[m][j];
- }
- wij[i][j] = (1.0 - Delta(i, j))* temp;
- }
- }
- for (int i = 0; i < 35; i++)
- {
- for (int j = 0; j < 35; j++)
- {
- std::cout << wij[i][j] << " ";
- }
- std::cout << std::endl;
- }
- int y[35] = {0};
- double net[35] = {0};
- int s[] = { 1,1,1,1,1 , 1,1,-1,-1,1 , 1,1,-1,-1,1 , 1,1,1,1,1 , 1,1,-1,-1,1 , 1,-1,-1,-1,1 , 1,-1,-1,-1,1 };
- while (petla)
- {
- for (int i = 0; i < 35; i++)
- {
- for (int j = 0; j < 35; j++)
- {
- net[i] += wij[i][j] * s[j];
- }
- }
- for (int t = 0; t < 35; t++)
- {
- y[t] = FunkcjaWyjscia(net[t], s[t]);
- }
- petla = false;
- for (int i = 0; i < 35; i++)
- {
- if (y[i] != s[i])
- {
- petla = true;
- }
- }
- std::cout << std::endl;
- std::cout << std::endl;
- Print(s);
- std::cout << std::endl;
- std::cout << std::endl;
- if (petla)
- {
- for (int i = 0; i < 35; i++)
- {
- s[i] = y[i];
- }
- }
- }
- return 0;
- }
- int Delta(int i, int j)
- {
- if (i == j)
- return 1;
- else
- return 0;
- }
- int FunkcjaWyjscia(int net, int yt)
- {
- if (net > 0)
- return 1;
- else if (net == 0)
- return yt;
- else
- return -1;
- }
- void Print(int tab[35])
- {
- for (int i = 0; i < 35; i++)
- {
- if (tab[i] == -1)
- std::cout << "0";
- else
- std::cout << tab[i];
- if (i % 5 == 4)
- std::cout << std::endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement