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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Удаление [i][j] элемента из вектора типа string http://www.cyberforum.ru/cpp-beginners/thread1189396.html
Добрый вечер! Пишу курсовую на тему "Консольный текстовый редактор". На деле же я считываю построчно из файла в вектор типа string. Одна из функций - удаление выделенных элементов. Всеми правдами-неправдами я добилась выделения нужных букв на экране цветом, и я обладаю сакральным знанием - адресами выделенных букв( номер строки, в которой находится буква, и ее позиция в строке). Вопрос: как...
C++ Добавление элементов в сортированный двусвязный список Подскажите, каким способом лучше всего добавлять элемент в список, чтобы он сразу вставал на нужное место(элемент имеет имя, а список должен идти по возрастанию(стандартная сортировка слов))? http://www.cyberforum.ru/cpp-beginners/thread1189384.html
C++ работа с текстом
помогите решить задачу на с++. Дан текст. Выяснить, является ли он числом. отрицательные числа содержат в начале знак минус
не работает strncmp - нет доступа к памяти C++
после того, как принимается первое значение symbol выбрасывается ошибка Unhandled exception at 0x5c6cf7e0 in lala 3 1.exe: 0xC0000005: Access violation reading location 0x011da000. почему нет доступа к памяти? и как исправить сложившуюся ситуацию? int _tmain(int argc, _TCHAR* argv) {cout«"Please, enter your text here\n"; char* text=NULL; text=(char*)malloc(sizeof(char)*100); cin»text;...
C++ Ошибка "template argument 1 is invalid" http://www.cyberforum.ru/cpp-beginners/thread1189369.html
Приветствую! Слабое знание английского не помогло мне найти ответа на stackoverflow, поэтому надеюсь, что кто-нибудь может помочь :) собсно код: ошибка - 20 строка #if !defined(_TWYKLAD_H) #define _TWYKLAD_H
C++ Номера строк с одинаковыми суммами Здравствуйте! Подскажите, пожалуйста, код для выведения номеров всех строк с одинаковыми суммами и их суммы (в матрице). Например, дана матрица: 1 2 3 4 5 6 7 8 9 10 0 0 0 0 0 6 7 8 9 10 1 2 3 4 5 Суммы строк № 1 и 5 = 15 Суммы строк № 2 и 4 = 40 подробнее

Показать сообщение отдельно
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 174
27.05.2014, 09:54     Удалить повторы в элементах массива
Идея состоим в том что бы удалить повторы в массиве без сортировки, при этом нужно получить новый массив(без повторов) и его длину( это нужно мне дальше знать)
пробовал вот так(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 элементов, считать количество уникальных элементов, затем выделять память и таким же циклом заполнять новый массив непродуктивно,как по мне
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru