Advertisement
Mancolo

3.3 таск

Oct 6th, 2022
776
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <iostream>
  2. #include <tchar.h>
  3. using namespace std;
  4. int _tmain(int argc, _TCHAR* argv[])
  5. {
  6.     int* a;
  7.     int i, b, c; //индекс, число элементов массива, заданное значение
  8.     int i1 = -1, i2 = -1; //позиции нулевых элементов
  9.     cout << "Vvedite chislo elementov massiva " << endl;
  10.     cin >> b;
  11.     a = new int[b * 2]; //*2, чтобы был куда вставлять
  12.  
  13.     for (i = 0; i < b; i++) {
  14.         a[i] = rand() % 10; //%10, чтобы была выше вероятность получить два нуля
  15.         cout << "a[" << i << "]=" << a[i] << endl;
  16.     }
  17.     cout << endl;
  18.  
  19.     for (i = 0; i < b; i++)
  20.     {
  21.         if (a[i] == 0)
  22.         {
  23.             if (i1 == -1)
  24.                 i1 = i; //первый найден
  25.             else if (i2 == -1)
  26.             {
  27.                 i2 = i; //второй найден
  28.                 break;
  29.             }
  30.         }
  31.     }
  32.     if (i2 == -1)
  33.         cout << "V massive ne naydeno dva 0" << endl;
  34.     else
  35.     {
  36.         cout << "Vvedite zadannoe znachenie " << endl;
  37.         cin >> c;
  38.  
  39.         for (i = b - 1; i >= i2; i--)
  40.             a[i + i2 - i1 - 1] = a[i]; //копируем за вторым нулем, включая сам нуль
  41.  
  42.         for (; i > i1; i--) //между нулями
  43.         {
  44.             a[i1 + (i - i1) * 2] = c;
  45.             a[i1 + (i - i1) * 2 - 1] = a[i];
  46.         }
  47.         b += i2 - i1 - 1; //размер массива увеличился
  48.  
  49.         for (i = 0; i < b; i++) {
  50.             cout << "a[" << i << "]=" << a[i] << endl;
  51.         }
  52.         cout << endl;
  53.     }
  54.  
  55.     delete[]a;
  56.     system("pause");
  57.     return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement