Advertisement
Guest User

1

a guest
Nov 15th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.93 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <math.h>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     int j, end, K, x, n, h, i, *array;
  10.     bool s = false;
  11.     setlocale(LC_ALL, "Russian"); // подключение русского языка
  12.     cout << "\n Введите размер необходимого массива: ";
  13.     cin >> n; // ввод размерности массива
  14.     array = new int [n]; // выделение памяти для необходимого массива
  15.     cout << "\n Каким образом вы хотите заполнить массив ? Если вручную, то нажмите 1, если случайным образом, то нажмите 2" << endl;
  16.     cin >> h; // ввод переменной, необходимой для определения способа ввода массива
  17.     switch (h)
  18.     {
  19.     case 1: // способ ввода массива вручную
  20.     {   cout << "\n Введите нужный массив из " << n << " элементов:";
  21.     for (i = 0; i < n; i++)
  22.         cin >> array[i]; //ввод элемента массива
  23.     }; break;
  24.     case 2: // способ ввода массива случаными числами
  25.     {
  26.         for (i = 0; i < n; i++)
  27.             array[i] = rand() % 100; //генерирование случайного числа
  28.     }; break;
  29.     default: // вариант, при котором введено некорректное число
  30.     {
  31.         cout << "\n Введено некорректное число, попробуйте снова";
  32.         return(0); // завершение программы
  33.     }; break;
  34.     };
  35.     cout << "\n Ваш массив: "; // вывод полученного массива на экран
  36.     for (i = 0; i < n; i++)
  37.     {
  38.         cout << "\t" << array[i];
  39.     };
  40.     cout << endl;
  41.     cout << "\n Введите необходимое число Х, отсносительно которого будут удаляться элементы массива: ";
  42.     cin >> x;
  43.     K = 0; // счетчик количества нечетных чисел кратных Х
  44.     for (i = 0; i < n; i++) // проверка на наличие в массиве нечетных чисел кратных Х
  45.     {
  46.         if ((array[i] % 2 != 0) && (array[i] % x == 0))
  47.             s = true;
  48.     }
  49.     if (s == true) // такие числа есть
  50.     {
  51.         for (i = 0; i < n; i++)
  52.         {
  53.             if ((array[i] % 2 != 0) && (array[i] % x == 0))
  54.             {
  55.                 for (j = i; j < n; j++) // сдвигаем массив на 1 влево, начиная с элемента стоящего после нужного элемента, тем самым уничтожив его
  56.                     array[j] = array[j + 1];
  57.                 K++;
  58.             }
  59.         }
  60.     }
  61.     else cout << "\n Таких элементов не существует :(";
  62.     n = n - K; // обрезаем массив
  63.     cout << "\n Измененный массив: "<<endl;
  64.     for (i = 0; i < n; i++)
  65.         cout << "\t" << array[n];
  66.     delete array;
  67.     return (0);
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement