#include using namespace std; const int N = 10; struct Mat { int m [N][N]; }; void zero (Mat & z) { for ( int i = 0; i < N; i++ ) for (int j = 0; j < N; j++) z.m[i][j] = 0; } void one (Mat & z) { for ( int i = 0; i < N; i++ ) for (int j = 0; j < N; j++) { if (i == j) z.m[i][j] = 1; else z.m[i][j] = 0; } } void add (Mat &c, Mat a, Mat b) { for ( int i = 0; i < N; i++ ) { for (int j = 0; j < N; j++) { c.m [i][j] = a.m [i][j] + b.m [i][j]; } } } void mul (Mat &c, Mat a, Mat b) { for ( int i = 0; i < N; i++ ) { for (int j = 0; j < N; j++) { int v = 0; for (int k = 0; k < N; k++) { v = v + a.m [i][k] * b.m [k][j]; } c.m [i][j] = v; } } } void tisk (Mat a) { cout << "[" << endl; for ( int i = 0; i < N; i++ ) // <-- N { cout << " ("; for (int j = 0; j < N; j++) // <-- N { cout << a.m[i][j]; // <-- zmena if (j < N-1) cout << ", "; } cout << ")" << endl; } cout << "]"<< endl; } int main() { Mat t; zero (t); tisk (t); Mat u; one (u); tisk (u); Mat v; add (v , t, u); tisk (v); return 0; }