1 / -1 / 0
Регистрация: 22.07.2017
Сообщений: 8
1

Удалить из массива все элементы, встречающиеся менее двух раз

22.07.2017, 18:49. Показов 3092. Ответов 3
Метки нет (Все метки)

Помогите решить,пожалуйста:

Дан целочисленный массив, состоящий из n элементов. Удалить из массива все элементы, встречающиеся менее двух раз. Решите задачу, оформив решение в виде функций ввода, вывода и обработки массивов.

Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.07.2017, 18:49
Ответы с готовыми решениями:

Удалить из массива все элементы встречающиеся менее 3-х раз и вывести размер полученного массива и его содержимое.
Помогите пожалуйста решить задачу!!!!!! Дан целочисленный массив размера n. Удалить из массива...

Удалить из массива все элементы встречающиеся более двух раз
Дано целочисленный массив размера N. Удалить из массива все элементы, встречаются более двух раз ,...

Удалить из массива все элементы, встречающиеся более 2 раз
массив дан целочисленный одномерный массив.удалить из массива все элементы ,встречающиеся более 2...

Удалить из массива все элементы, встречающиеся ровно n раз
1. Дан целочисленный массив ,состоящий из n элементов. Удалить из массива все элементы...

3
Модератор
Эксперт С++
12771 / 10227 / 6148
Регистрация: 18.12.2011
Сообщений: 27,392
22.07.2017, 19:09 2
См. ссылки внизу страницы
0
1 / -1 / 0
Регистрация: 22.07.2017
Сообщений: 8
22.07.2017, 19:16  [ТС] 3
Ни одного похожего не нашел
0
837 / 640 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
23.07.2017, 07:43 4
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
#include <iostream>
#include <algorithm>
 
int array_delrep2(int a[], int n){
    int k, i = 0, j = 0;
    for(; i < n; ++i){
        k = i + 1;
        while((k < n) && (a[k] == a[i]))
            ++k;
 
        if((k - i) <= 2)
            i = k - 1;
        else {
            while(i < k)
                a[j++] = a[i++];
            --i;
        }
    }
    return j;
}
 
int main(void){
    int a[] = { 1, 0, 2, 3, 4, 0, 0, 7, 7, 5, 3, 7, 8, 0, 1 };
    int n   = sizeof(a)/sizeof(a[0]);
 
    std::sort(a, a + n);
    n = array_delrep2(a, n);
 
    for(int i = 0; i < n; ++i)
        std::cout << a[i] << ' ';
    std::cin.get();
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.07.2017, 07:43
Помогаю со студенческими работами здесь

Удалить из массива все элементы, встречающиеся три раза
Подскажите пожалуйста в чем ошибка последнего цикла. #include &lt;cstdlib&gt; #include &lt;iostream&gt;...

Удалить из массива все элементы, встречающиеся ровно два раза
помогите, пожалуйста, как написать код в с++? Дан целочисленный массив размера N. Удалить из...

Удалить из строки все буквы, встречающиеся в строке более 2 раз
Здравствуйте! Нужна помощь. Консольное приложение. Ввести символьную строку. Удалить из строки...

Обнулить все элементы массива, которые встречаются более двух раз
Есть масив розмером n. Обнулить все елементы масива , что встречаются более 2 раз. Подскажите в...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru