Двумерные массивы. C++
Суть задания:
Массив размерностью MxN. Необходимо дополнить его (M+1)-й строкой и (N+1)-м столбцом, в которых записать суммы элементов соответствующих строк и столбцов. В элементе aM+1,N+1 должна храниться сумма всех элементов массива. Написал код массива и смог увеличить на m1 n+1, прошу помогите закончить 2 часть задания. #include <iostream> #include <iomanip> //---------------- int** new2DArray( int m, int n) { int** arr = new int*[m]; for (int i = 0; i < m; ++i) arr[i] = new int[n]; return arr; } //--------------- void delete2DArray(int** arr, const int m) { for (int i = 0; i < m; ++i) delete[] arr[i]; delete[] arr; } //--------------- int** newTransposeMatrix(int** matrix, const int m, const int n) { int** res = new2DArray(n, m); for (int i = 0; i < m; ++i) for (int j = 0; j < n; ++j) res[j][i] = matrix[i][j]; return res; } //---------------- void print2DArray(int** arr, const int m, const int n) { for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) std::cout << std::setw(4) << arr[i][j]; std::cout << '\n'; } } //--------------- int main() { // вводим размеры матрицы std::cout << "Input m: "; int m; std::cin >> m; std::cout << "Input n: "; int n; std::cin >> n; // создаём новую матрицу MxN int** mtrx = new2DArray(m = m+1, n = n+1); // заполняем for (int i = 0; i < m; ++i) for (int j = 0; j < n; ++j) mtrx[i][j] = j; // выводим std::cout << "Matrix\n"; print2DArray(mtrx, m, n); // освобождаем выделенную память delete2DArray(mtrx, m); system("pause"); // (1) return 0; } |
Часовой пояс GMT +4, время: 11:30. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.