Advertisement
AmidamaruZXC

Untitled

Jun 30th, 2020
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.60 KB | None | 0 0
  1. #include <iostream>
  2. #include <locale>
  3.  
  4. using namespace std;
  5.  
  6. int** CreateMatrix(int n, int m)
  7. {
  8.     int** matrix = new int* [n];
  9.     for (int i = 0; i < n; i++)
  10.         matrix[i] = new int[m];
  11.     return matrix;
  12. }
  13.  
  14. void InitializeMatrix(int** matrix, int n, int m)
  15. {
  16.     for (int i = 0; i < n; i++)
  17.         for (int j = 0; j < m; j++)
  18.         {
  19.             cout << "Введите matrix[" << i << "][" << j << "]: ";
  20.             cin >> matrix[i][j];
  21.         }
  22. }
  23.  
  24. void PrintMatrix(int** matrix, int n, int m)
  25. {
  26.     for (int i = 0; i < n; i++)
  27.     {
  28.         for (int j = 0; j < m; j++)
  29.             cout << matrix[i][j] << " ";
  30.         cout << endl;
  31.     }
  32. }
  33.  
  34. int** GetArray(int** matrix, int n, int m, int& size)
  35. {
  36.     int count = 0;
  37.     for (int i = 0; i < n; i++)
  38.         for (int j = 0; j < m; j++)
  39.             if (matrix[i][j] == 0)
  40.                 count++;
  41.     int** array = new int*[count];
  42.     size = count;
  43.     count = 0;
  44.     for (int i = 0; i < n; i++)
  45.         for (int j = 0; j < m; j++)
  46.             if (matrix[i][j] == 0)
  47.                 array[count++] = &matrix[i][j];
  48.     return array;
  49. }
  50.  
  51. int main()
  52. {
  53.     setlocale(LC_ALL, "rus");
  54.     int n, m;
  55.     cout << "Введите количество строк матрицы: ";
  56.     cin >> n;
  57.     cout << "Введите количество столбцов матрицы: ";
  58.     cin >> m;
  59.     int** matrix = CreateMatrix(n, m);
  60.     InitializeMatrix(matrix, n, m);
  61.     cout << "Созданная матрица: " << endl;
  62.     PrintMatrix(matrix, n, m);
  63.     int size = 0;
  64.     int** array = GetArray(matrix, n, m, size);
  65.     cout << "Массив указателей на нулевые элементы, созданной матрицы: ";
  66.     for (int i = 0; i < size; i++)
  67.         cout << array[i] << " ";
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement