#include <iostream>
using namespace std;
template <typename T>
class Matrix
{
T ** matrix;
unsigned height;
unsigned width;
public:
Matrix(unsigned _width, unsigned _height) : height(_height), width(_width)
{
matrix = new T * [height];
for(int i = 0; i < height; ++i) {
matrix[i] = new T [width];
}
}
~Matrix()
{
for(int i = 0; i < height; ++i) {
delete [] matrix[i];
}
delete [] matrix;
}
//zmodyfikuj sobie zeby Ci ladnie sprawdzalo czy poza zakres nie wychodzisz
T * operator[](unsigned index)
{
return matrix[index];
}
};
int main() {
Matrix <int> mat(5,6);
mat[2][2] = 10;
cout<<mat[2][2];
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CmNsYXNzIE1hdHJpeCAKewogICBUICoqIG1hdHJpeDsKICAgdW5zaWduZWQgaGVpZ2h0OwogICB1bnNpZ25lZCB3aWR0aDsKcHVibGljOgogICBNYXRyaXgodW5zaWduZWQgX3dpZHRoLCB1bnNpZ25lZCBfaGVpZ2h0KSA6IGhlaWdodChfaGVpZ2h0KSwgd2lkdGgoX3dpZHRoKQogICB7CiAgICAgICBtYXRyaXggPSBuZXcgVCAqIFtoZWlnaHRdOwogICAgICAgCiAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgaGVpZ2h0OyArK2kpIHsKICAgICAgICAgICBtYXRyaXhbaV0gPSBuZXcgVCBbd2lkdGhdOwogICAgICAgfSAKICAgfQoKICAgfk1hdHJpeCgpIAogICB7CiAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgaGVpZ2h0OyArK2kpIHsKICAgICAgICAgICBkZWxldGUgW10gbWF0cml4W2ldOwogICAgICAgfQogCiAgICAgICBkZWxldGUgW10gbWF0cml4OwogICB9CgogICAvL3ptb2R5ZmlrdWogc29iaWUgemVieSBDaSBsYWRuaWUgc3ByYXdkemFsbyBjenkgcG96YSB6YWtyZXMgbmllIHd5Y2hvZHppc3ogCiAgIFQgKiBvcGVyYXRvcltdKHVuc2lnbmVkIGluZGV4KSAKICAgeyAKICAgICAgIHJldHVybiBtYXRyaXhbaW5kZXhdOwogICB9CiAgIAp9OwoKCmludCBtYWluKCkgewogICBNYXRyaXggPGludD4gbWF0KDUsNik7CiAgIG1hdFsyXVsyXSAgPSAxMDsKICAgY291dDw8bWF0WzJdWzJdOwoKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXJldHVybiAwOwp9