Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 178
#1

Удалить повторы в элементах массива - C++

27.05.2014, 09:54. Просмотров 276. Ответов 0
Метки нет (Все метки)

Идея состоим в том что бы удалить повторы в массиве без сортировки, при этом нужно получить новый массив(без повторов) и его длину( это нужно мне дальше знать)
пробовал вот так(2 способами но не один не считает правильно почему-то)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int* massive=new int[total_elemens]
vector<int> vec(massive, massive + total_elemens);  // помещаем в вектор
            vector<int> ::iterator it; // итератор
            it = unique(vec.begin(), vec.end()); // удаляем повторяющиеся элементы
            vec.resize(it - vec.begin());
            total_elemens = vec.size();
 
            int Numb=0;
            for (size_t i = 0; i<vec.size(); ++i)
            {
                Numb += std::count(vec.begin(), vec.end(), vec[i]) - 1;
                vec.erase(std::remove(vec.begin() + 1, vec.end(), massive[i]), vec.end());
            }
            if (Numb>0)
            {
                cout<<"Найденные дубликаты (" + Numb + ") были удалены";
            }
Добавлено через 9 часов 20 минут
есть идеи?,я конечно могу написать проверку в лоб, но на каждом шаге сравнивать 100 элементов, считать количество уникальных элементов, затем выделять память и таким же циклом заполнять новый массив непродуктивно,как по мне
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2014, 09:54     Удалить повторы в элементах массива
Посмотрите здесь:

C++ С++ Повторы слов!!!
посчитать повторы слов C++
C++ Подсчитайте, сколько раз встречается каждая цифра в элементах двумерного массива
Удалить повторы в списке l3 C++
C++ Определить общее количество цифр в положительных элементах массива
Из массива A удалить те цепочки нечетных элементов, в которых нет ни одного элемента из массива B C++
C++ C++ Повторы в цикле
C++ Мусор в элементах массива при передаче в функцию
C++ Подсчитать количество пар массива, не учитывая повторы
Найти все цифры в элементах одномерного массива и подсчитать сколько раз встречается каждая C++
C++ Удалить из массива все элементы, расположенные перед максимальным элементом массива
Из вещественного массива X удалить все числа, превышающие среднее арифметическое элементов массива C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 16:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru