Súčet matíc

Vytvorte program, ktorý: using namespace std; typedef unsigned int uint; // trieda pre maticu class Matica {  typedef vector MaticaStlpec; typedef vector MaticaData; public: // konstruktor Matica(uint x, uint y) : mX(x), mY(y) { mData.resize(y); for (auto& d : mData) d.resize(x); }  // sucet matic Matica operator+(Matica& other) { Matica temp(mX, mY); temp.mData = mData; for (uint y = 0; y < mY; ++y) for (uint x = 0; x < mY; ++x) temp.mData[y][x] += other.mData[y][x]; return temp; }  // pristup k datam MaticaStlpec& operator[](uint y) { return mData[y]; }  // velkost matice uint X { return mX; } uint Y { return mY; } private: uint mX, mY; MaticaData mData; }; // vypis matice ostream& operator<<(ostream& o, Matica& m) { for (uint iy = 0, iymax = m.Y; iy < iymax; ++iy) {    for (uint ix = 0, ixmax = m.X; ix < ixmax; ++ix) o << setw(3) << m[iy][ix] << ' '; o << endl; }  return o; } int main {  // generator default_random_engine gen(chrono::system_clock::now.time_since_epoch.count); uniform_int_distribution dist(1, 20); auto generator = bind(dist, gen); // velkost matic uint x, y;  cout << "Velkost matic: "; cin >> x >> y;  // matice Matica m1(x, y), m2(x, y); // generovanie for (uint iy = 0; iy < y; ++iy) for (uint ix = 0; ix < x; ++ix) {      m1[iy][ix] = generator; m2[iy][ix] = generator; }  // vypis auto s = m1 + m2; cout << "\nGenerovane matice:\n" << m1 << endl << m2    << "\nIch sucet:\n" << s;   cin.ignore; cin.get; return 0; }
 * načíta dve rovnako veľké (N x N) štvorcové matice A a B
 * vypíše na obrazovku ich súčet
 * 1) include
 * 2) include
 * 3) include
 * 4) include
 * 5) include
 * 6) include