#include using namespace std; const int size = 3; template void print(T matrix) { cout << "[\n"; for (int y = 0; y < size; ++y) { cout << "\t["; for (int x = 0; x + 1 < size; ++x) cout << matrix[y][x] << ", "; cout << matrix[y][size - 1] << "]"; if (y + 1 == size) cout << "\n]\n"; else cout << ",\n"; } } int** multiply(int a[][size], int b[][size]) { int** c = new int*[size]; int sum; for (int i = 0; i < size; ++i) c[i] = new int[size]; for (int y = 0; y < size; ++y) for (int x = 0; x < size; ++x) { sum = 0; for (int z = 0; z < size; ++z) sum += a[y][z] * b[z][x]; c[y][x] = sum; } return c; } int main() { int a[][size] = { {-1, -2, 3}, {0, 2, -1}, {-1, 3, 0} }; int b[][size] = { {1, 5, 1}, {2, 1, 2}, {3, 2, 3} }; int** c = multiply(a, b); cout << "a = "; print(a); cout << "\n"; cout << "b = "; print(b); cout << "\n"; cout << "c = "; print(c); cout << endl; for(int i = 0; i < size; ++i) delete[] c[i]; delete[] c; return 0; }