#include <iostream>
#include <iomanip>
using namespace std;
// 1. Функція для створення (виділення пам'яті) динамічного 2D-масиву
int** createMatrix(int rows, int cols) {
// Размежовуємо потрійний вказівник, щоб дістатися до int**
int **matrix = new int*[rows];
for (int i = 0; i < rows; ++i) {
matrix[i] = new int[cols];
}
return matrix;
}
// 2. Функція для читання (введення) елементів матриці з клавіатури
void readMatrix(int** matrix, int rows, int cols) {
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
cin >> matrix[i][j];
}
}
}
// 3. Функція для виведення матриці на екран
void printMatrix(int** matrix, int rows, int cols) {
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
cout << setw(6) << matrix[i][j] << " "; // setw(6) рівномірно вирівнює стовпчики
}
cout << endl; // Перехід на новий рядок після кожного рядка матриці
}
}
int main() {
int n, m;
cin>>n>>m;
// int** myMatrix = createMatrix(rows, cols);
int **myMatrix = new int*[n];
for (int i = 0; i < n; ++i) {
myMatrix[i] = new int[m];
}
readMatrix(myMatrix,n, m );
// Використання...
myMatrix[0][0] = 42;
cout << "myMatrix[0][0] = " << myMatrix[0][0] << endl;
printMatrix(myMatrix,n, m);
// Звільнення пам'яті
for (int i = 0; i < n; ++i) {
delete[] myMatrix[i];
}
delete[] myMatrix;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIDEuINCk0YPQvdC60YbRltGPINC00LvRjyDRgdGC0LLQvtGA0LXQvdC90Y8gKNCy0LjQtNGW0LvQtdC90L3RjyDQv9Cw0Lwn0Y/RgtGWKSDQtNC40L3QsNC80ZbRh9C90L7Qs9C+IDJELdC80LDRgdC40LLRgwppbnQqKiAgY3JlYXRlTWF0cml4KGludCByb3dzLCBpbnQgY29scykgIHsKICAgIC8vINCg0LDQt9C80LXQttC+0LLRg9GU0LzQviDQv9C+0YLRgNGW0LnQvdC40Lkg0LLQutCw0LfRltCy0L3QuNC6LCDRidC+0LEg0LTRltGB0YLQsNGC0LjRgdGPINC00L4gaW50KioKICAgIGludCAqKm1hdHJpeCA9IG5ldyBpbnQqW3Jvd3NdOwogICAgCiAgICBmb3IgKGludCBpID0gMDsgaSA8IHJvd3M7ICsraSkgewogICAgICAgIG1hdHJpeFtpXSA9IG5ldyBpbnRbY29sc107CiAgICB9CiAgICByZXR1cm4gbWF0cml4Owp9Ci8vIDIuINCk0YPQvdC60YbRltGPINC00LvRjyDRh9C40YLQsNC90L3RjyAo0LLQstC10LTQtdC90L3Rjykg0LXQu9C10LzQtdC90YLRltCyINC80LDRgtGA0LjRhtGWINC3INC60LvQsNCy0ZbQsNGC0YPRgNC4CnZvaWQgcmVhZE1hdHJpeChpbnQqKiBtYXRyaXgsIGludCByb3dzLCBpbnQgY29scykgewogICBmb3IgKGludCBpID0gMDsgaSA8IHJvd3M7ICsraSkgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgY29sczsgKytqKSB7CiAgICAgICAgICAgIGNpbiA+PiBtYXRyaXhbaV1bal07CiAgICAgICAgfQogICAgfQp9Ci8vIDMuINCk0YPQvdC60YbRltGPINC00LvRjyDQstC40LLQtdC00LXQvdC90Y8g0LzQsNGC0YDQuNGG0ZYg0L3QsCDQtdC60YDQsNC9CnZvaWQgcHJpbnRNYXRyaXgoaW50KiogIG1hdHJpeCwgaW50IHJvd3MsIGludCBjb2xzKSB7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IHJvd3M7ICsraSkgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgY29sczsgKytqKSB7CiAgICAgICAgICAgIGNvdXQgPDwgc2V0dyg2KSA8PCBtYXRyaXhbaV1bal0gPDwgIiAiOyAvLyBzZXR3KDYpINGA0ZbQstC90L7QvNGW0YDQvdC+INCy0LjRgNGW0LLQvdGO0ZQg0YHRgtC+0LLQv9GH0LjQutC4CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgZW5kbDsgLy8g0J/QtdGA0LXRhdGW0LQg0L3QsCDQvdC+0LLQuNC5INGA0Y/QtNC+0Log0L/RltGB0LvRjyDQutC+0LbQvdC+0LPQviDRgNGP0LTQutCwINC80LDRgtGA0LjRhtGWCiAgICB9Cn0KaW50IG1haW4oKSB7CiAgICBpbnQgbiwgbTsKICAgIGNpbj4+bj4+bTsKICAKICAgIC8vIGludCoqIG15TWF0cml4ID0gIGNyZWF0ZU1hdHJpeChyb3dzLCBjb2xzKTsKICAgIGludCAqKm15TWF0cml4ID0gbmV3IGludCpbbl07CiAgICAKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgbXlNYXRyaXhbaV0gPSBuZXcgaW50W21dOwogICAgfQoJcmVhZE1hdHJpeChteU1hdHJpeCxuLCBtICk7CiAgICAvLyDQktC40LrQvtGA0LjRgdGC0LDQvdC90Y8uLi4KICAgIG15TWF0cml4WzBdWzBdID0gNDI7CiAgICBjb3V0IDw8ICJteU1hdHJpeFswXVswXSA9ICIgPDwgbXlNYXRyaXhbMF1bMF0gPDwgZW5kbDsKcHJpbnRNYXRyaXgobXlNYXRyaXgsbiwgbSk7CiAgICAvLyDQl9Cy0ZbQu9GM0L3QtdC90L3RjyDQv9Cw0Lwn0Y/RgtGWCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgewogICAgICAgIGRlbGV0ZVtdIG15TWF0cml4W2ldOwogICAgfQogICAgZGVsZXRlW10gbXlNYXRyaXg7CgogICAgcmV0dXJuIDA7Cn0K