StoneHaos

Untitled

Jan 25th, 2023
865
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.34 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4.     setlocale(LC_ALL, "russian");
  5.     int n, m;
  6.     cout << "n=";
  7.     cin >> n;//количество строк
  8.     cout << "m=";
  9.     cin >> m;//количество столбцов
  10.     // выделяем память под массив
  11.     int** mas = new int* [n];
  12.     for (int i = 0; i < n; i++)
  13.         mas[i] = new int[m];
  14.     cout << "Введите элементы массива:\n";
  15.     for (int i = 0; i < n; i++)
  16.         for (int j = 0; j < m; j++)
  17.             cin >> mas[i][j];
  18.     bool f;
  19.     for (int j = 0; j < m; )
  20.     {
  21.         f = false;
  22.         for (int i = 0; i < n; i++)
  23.             if (mas[i][j] == 0) {
  24.                 f = true;
  25.                 break;
  26.             }
  27.         if (f)//если нулевой элемент встречается в строке
  28.             //то будем строку удалять
  29.         {
  30.             //сдвиг строк на одну позицию вверх
  31.             for (int k = j; k < m - 1; k++)
  32.                 for (int i = 0; i < n; i++)
  33.                     mas[i][k] = mas[i][k + 1];
  34.             m--; //уменьшаем количество строк в массиве на 1
  35.         }
  36.         //если строку не удаляли, то переходим к следующей строке
  37.         else j++;
  38.     }
  39.     //выводим новый массив
  40.     for (int i = 0; i < n; i++, cout << endl)
  41.         for (int j = 0; j < m; j++)
  42.             cout << mas[i][j] << "\t";
  43.     system("pause");
  44.     return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment