Vla_DOS

matrix 2

Mar 28th, 2023
1,066
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.78 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. // Функція для виведення матриці в консоль
  5. void show_matrix(int** matrix, int n, int m) {
  6.     for (int i = 0; i < n; i++) {
  7.         for (int j = 0; j < m; j++) {
  8.             cout << matrix[i][j] << " ";
  9.         }
  10.         cout << endl;
  11.     }
  12. }
  13.  
  14. // Функція для додавання стовпчика в кінець матриці
  15. void push_back_col(int** matrix, int n, int& m) {
  16.     // Виділення пам'яті під новий стовпчик
  17.     int* new_col = new int[n];
  18.     // Заповнення його нулями
  19.     for (int i = 0; i < n; i++) {
  20.         new_col[i] = 0;
  21.     }
  22.     // Додавання стовпчика до матриці
  23.     for (int i = 0; i < n; i++) {
  24.         matrix[i][m] = new_col[i];
  25.     }
  26.     // Збільшення кількості стовпчиків матриці
  27.     m++;
  28.     // Звільнення пам'яті, виділеної для нового стовпчика
  29.     delete[] new_col;
  30. }
  31.  
  32. int main() {
  33.     // Створення матриці 3x4, заповненої нулями
  34.     int n = 3, m = 4;
  35.     int** matrix = new int*[n];
  36.     for (int i = 0; i < n; i++) {
  37.         matrix[i] = new int[m];
  38.         for (int j = 0; j < m; j++) {
  39.             matrix[i][j] = 0;
  40.         }
  41.     }
  42.     show_matrix(matrix, n, m);
  43.  
  44.     // Додавання стовпчика з нулями
  45.     push_back_col(matrix, n, m);
  46.     cout << endl;
  47.     // Виведення матриці в консоль
  48.     show_matrix(matrix, n, m);
  49.  
  50.     // Звільнення пам'яті, виділеної для матриці
  51.     for (int i = 0; i < n; i++) {
  52.         delete[] matrix[i];
  53.     }
  54.     delete[] matrix;
  55.  
  56.     return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment