Дан массив: А[M] (M вводится с клавиатуры). Необходимо удалить из массива четные или нечетные значения. Пользователь вводит данные в массив, а также с помощью меню решает, что нужно удалить. C++
cpp
#include <iostream>
// Функция для удаления четных элементов из массива
void deleteEven(int arr[], int &n) {
int k = 0; // Переменная для хранения количества нечетных элементов
// Считаем количество нечетных элементов
for (int i = 0; i < n; i++) {
if (arr[i] % 2 != 0) {
k++;
}
}
// Заполняем массив только нечетными элементами
int j = 0;
for (int i = 0; i < n; i++) {
if (arr[i] % 2 != 0) {
arr[j++] = arr[i];
}
}
n = k; // Обновляем размер массива
}
// Функция для удаления нечетных элементов из массива
void deleteOdd(int arr[], int &n) {
int k = 0; // Переменная для хранения количества четных элементов
// Считаем количество четных элементов
for (int i = 0; i < n; i++) {
if (arr[i] % 2 == 0) {
k++;
}
}
// Заполняем массив только четными элементами
int j = 0;
for (int i = 0; i < n; i++) {
if (arr[i] % 2 == 0) {
arr[j++] = arr[i];
}
}
n = k; // Обновляем размер массива
}
int main() {
const int MAX_SIZE = 100; // Максимальный размер массива
int n; // Размер массива
int arr[MAX_SIZE]; // Массив
char choice; // Выбор пользователя
// Ввод размера массива
std::cout << "Enter the size of the array: ";
std::cin >> n;
// Заполнение массива данными
std::cout << "Enter the elements of the array:n";
for (int i = 0; i < n; i++) {
std::cin >> arr[i];
}
// Вывод меню выбора действия
std::cout << "Do you want to delete even (e) or odd (o) elements? ";
std::cin >> choice;
if (choice == 'e') {
deleteEven(arr, n); // Удаление четных элементов
} else if (choice == 'o') {
deleteOdd(arr, n); // Удаление нечетных элементов
} else {
std::cout << "Invalid choice. Please enter 'e' or 'o'.n";
return 1;
}
// Вывод результирующего массива
std::cout << "Resulting array:n";
for (int i = 0; i < n; i++) {
std::cout << arr[i] << " ";
}
std::cout << "n";
return 0;
}
Объяснение кода:
1. Мы начинаем с подключения библиотек и объявления функций.
2. Функции `deleteEven` и `deleteOdd` используются для удаления четных и нечетных элементов из массива соответственно.
3. Функция `main` запрашивает у пользователя размер массива и заполняет его элементами.
4. Пользователю предлагается выбрать, какие элементы нужно удалить: четные или нечетные.
5. В зависимости от выбора пользователя вызывается соответствующая функция для удаления элементов.
6. Результирующий массив выводится на экран.
Таким образом, в результате выполнения программы пользователь может ввести данные массива и выбрать, какие элементы удалить: четные или нечетные. Программа удалит выбранные элементы и выведет оставшиеся элементы массива.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет