Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- #include <math.h>
- using namespace std;
- int main()
- {
- int j, end, K, x, n, h, i, *array;
- bool s = false;
- setlocale(LC_ALL, "Russian"); // подключение русского языка
- cout << "\n Введите размер необходимого массива: ";
- cin >> n; // ввод размерности массива
- array = new int [n]; // выделение памяти для необходимого массива
- cout << "\n Каким образом вы хотите заполнить массив ? Если вручную, то нажмите 1, если случайным образом, то нажмите 2" << endl;
- cin >> h; // ввод переменной, необходимой для определения способа ввода массива
- switch (h)
- {
- case 1: // способ ввода массива вручную
- { cout << "\n Введите нужный массив из " << n << " элементов:";
- for (i = 0; i < n; i++)
- cin >> array[i]; //ввод элемента массива
- }; break;
- case 2: // способ ввода массива случаными числами
- {
- for (i = 0; i < n; i++)
- array[i] = rand() % 100; //генерирование случайного числа
- }; break;
- default: // вариант, при котором введено некорректное число
- {
- cout << "\n Введено некорректное число, попробуйте снова";
- return(0); // завершение программы
- }; break;
- };
- cout << "\n Ваш массив: "; // вывод полученного массива на экран
- for (i = 0; i < n; i++)
- {
- cout << "\t" << array[i];
- };
- cout << endl;
- cout << "\n Введите необходимое число Х, отсносительно которого будут удаляться элементы массива: ";
- cin >> x;
- K = 0; // счетчик количества нечетных чисел кратных Х
- for (i = 0; i < n; i++) // проверка на наличие в массиве нечетных чисел кратных Х
- {
- if ((array[i] % 2 != 0) && (array[i] % x == 0))
- s = true;
- }
- if (s == true) // такие числа есть
- {
- for (i = 0; i < n; i++)
- {
- if ((array[i] % 2 != 0) && (array[i] % x == 0))
- {
- for (j = i; j < n; j++) // сдвигаем массив на 1 влево, начиная с элемента стоящего после нужного элемента, тем самым уничтожив его
- array[j] = array[j + 1];
- K++;
- }
- }
- }
- else cout << "\n Таких элементов не существует :(";
- n = n - K; // обрезаем массив
- cout << "\n Измененный массив: "<<endl;
- for (i = 0; i < n; i++)
- cout << "\t" << array[n];
- delete array;
- return (0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement