Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <tchar.h>
- using namespace std;
- int _tmain(int argc, _TCHAR* argv[])
- {
- int* a;
- int i, b, c; //индекс, число элементов массива, заданное значение
- int i1 = -1, i2 = -1; //позиции нулевых элементов
- cout << "Vvedite chislo elementov massiva " << endl;
- cin >> b;
- a = new int[b * 2]; //*2, чтобы был куда вставлять
- for (i = 0; i < b; i++) {
- a[i] = rand() % 10; //%10, чтобы была выше вероятность получить два нуля
- cout << "a[" << i << "]=" << a[i] << endl;
- }
- cout << endl;
- for (i = 0; i < b; i++)
- {
- if (a[i] == 0)
- {
- if (i1 == -1)
- i1 = i; //первый найден
- else if (i2 == -1)
- {
- i2 = i; //второй найден
- break;
- }
- }
- }
- if (i2 == -1)
- cout << "V massive ne naydeno dva 0" << endl;
- else
- {
- cout << "Vvedite zadannoe znachenie " << endl;
- cin >> c;
- for (i = b - 1; i >= i2; i--)
- a[i + i2 - i1 - 1] = a[i]; //копируем за вторым нулем, включая сам нуль
- for (; i > i1; i--) //между нулями
- {
- a[i1 + (i - i1) * 2] = c;
- a[i1 + (i - i1) * 2 - 1] = a[i];
- }
- b += i2 - i1 - 1; //размер массива увеличился
- for (i = 0; i < b; i++) {
- cout << "a[" << i << "]=" << a[i] << endl;
- }
- cout << endl;
- }
- delete[]a;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement