Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 19.10.2021
Сообщений: 13
1

Из массива удалить четные элементы, стоящие между максимальным и минимальным элементами

14.11.2021, 00:03. Показов 1281. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дали задание, из массива удалить четные элементы, стоящие между максимальным и минимальным элементами, ума не приложу как удалить четные элементы, максимум что получилось это найти максимальное и минимальное значение, сижу уже дня 3 ищу пытаюсь...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <tchar.h>
#include <iostream>
#include "math.h"
#include <iomanip>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int i, k, M[15], j = 0, M_new[15];
    cout << "Введите размер массива: ";
    cin >> k;
 
    for (i = 0; i < k; i++)
    {
        cout << "Введите M[" << i + 1 << "]=";
        cin >> M[i];
    }
    cout << endl;
 
    cout << "Нечётные элементы массива:\n";
    for (i = 0; i < k; i++)
    {
        if (M[i] % 2 != 0)
        {
            cout << "M[" << i + 1 << "]=" << M[i] << endl;
        }
    }
    cout << endl;
 
    cout << "Вывод элементов массива в столбик" << endl;
    for (i = 0; i < k; i++)
    {
        if (M[i] % 2 != 0)
        {
            cout << M[i] << endl;
        }
    }
    cout << endl;
 
    cout << "Вывод элементов массива в строку" << endl;
    for (i = 0; i < k; i++)
    {
        if (M[i] % 2 != 0)
        {
            cout << M[i] << " \t";
        }
    }
    cout << endl;
    cout << endl;
 
    int min = M[0];
    for (int i = 0; i < k; i++)
    {
        if (M[i] < min) min = M[i];
    }
 
    int max = M[0];
    for (i = 0; i < k; i++)
    {
        if (max < M[i])
        {
            max = M[i];
        }
    }
 
    cout << "Максимальное значение: " << max << endl;
    cout << "Минимальное значение: " << min << endl;
    cout << endl;
 
    for (i = 0; i < k; i++)
    {
        if (min < M[i] < max)
        {
            if (M[i] % 2 == 0)
            M_new[j] = M[i];
            cout << "M_new[" << j + 1 << "]=" << M_new[j] << endl;
            j++;
        }
    }
 
    cout << endl;
    cout << endl;
 
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2021, 00:03
Ответы с готовыми решениями:

Удалить элементы массива с чётной суммой цифр стоящие между первым минимальным и последним максимальным элементами
Из массива А(N) удалить все элементы, сумма цифр которых чётная, стоящие между первым минимальным и...

Элементы массива стоящие между минимальным и максимальным заменить элементами массива Y
Как заменить элементами Y, начиная с первого? #include &lt;iostream&gt; #include &lt;math.h&gt; using...

Удалить все элементы массива расположенные между максимальным и минимальным элементами
в целочисленном массиве X(N) удалить все элементы, расположенные между максимальным и минимальным...

Удалить все элементы, расположенные между минимальным и максимальным элементами массива
Дан линейный массив из n элементов. Удалить все элементы, расположенных между минимальным и...

3
440 / 283 / 183
Регистрация: 23.06.2018
Сообщений: 651
14.11.2021, 02:20 2
Ну...
С одной стороны, легко. Ищите индексы min/max элементов, а не сами элементы, и удаляете всё что между ними.
С другой стороны, если у вас минимальный/максимальный элемент могут встречаться несколько раз, то сложно. Я абсолютно не представляю что вы должны вывести при следующем вводе:
0 4 3 10 4 5 0 5 4 10 7 4 0
Как минимум исчезают все 4 и средний 0. Получаем следующее:
0 5 10 5 5 10 7 0
А вот что с десятками? Сказано удалить элементы между минимальным и максимальным.
Пропадёт левая десятка, потому что она между нулём и правой десяткой?
Или пропадёт правая по аналогичной причине?
А может пропадут обе, так как это "между" касается только исходного массива?

Добавлено через 4 минуты
Но если не вдаваться в такие сложные моменты, то вот например, удаление выделено в отдельную функцию
Удалить все элементы массива расположенные между максимальным и минимальным элементами
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
14.11.2021, 02:24 3
Цитата Сообщение от Bleach163 Посмотреть сообщение
не представляю, что вы должны вывести при следующем вводе:
0 4 3 10 4 5 0 5 4 10 7 4 0
по умолчанию находится первый min и первый max. для приведённого примера нужно удалить из массива второй элемент
0
440 / 283 / 183
Регистрация: 23.06.2018
Сообщений: 651
14.11.2021, 02:41 4
Лучший ответ Сообщение было отмечено Fish_DVD как решение

Решение

Больше напоминает вариант который делают потому, что не думают о подводных камнях, а не потому что это подразумевается...
0
14.11.2021, 02:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2021, 02:41
Помогаю со студенческими работами здесь

Перенести все элементы матрицы, стоящие между минимальным и максимальным элементами каждой строки в другую матрицу
Ввести двумерные числовые массивы А и Д . В массив Д перенести все элементы массива А, стоящие...

Из массива удалить элементы , кратные трем, стоящие между максимальным и минимальным элементами
Помогите срочно надо.Из массива удалить элементы , кратные трем, стоящие между максимальным и...

Из массива удалить элементы, кратные трем, стоящие между максимальным и минимальным элементами
Из массива удалить элементы, кратные трем, стоящие между максимальным и минимальным элементами....

Из массива удалить элементы, кратные трем, стоящие между максимальным и минимальным элементами
Помогите срочно надо.Из массива удалить элементы , кратные трем, стоящие между максимальным и...

Из массива удалить элементы кратные трем, стоящие между максимальным и минимальным элементами
Из массива удалить элементы кратные трем,стоящие между максимальными и минимальными элементами...

Из массива удалить элементы, имеющие четный индекс и стоящие между максимальным и минимальным элементами
Из массива удалить элементы, имеющие четный индекс и стоящие между максимальным и минимальным...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru