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

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

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

Удаление дублей из массива - C++

04.07.2012, 14:31. Просмотров 681. Ответов 4
Метки нет (Все метки)

Имеется массив строк, в массиве имеются одинаковые строки, и не по одному дублю, а много. необходимо одинаковые строки отобразить только 1 раз. мучаюсь уже некоторое время
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2012, 14:31     Удаление дублей из массива
Посмотрите здесь:

Удаление динамического массива C++
Удаление из массива C++
Вывести количество элементов матрицы без дублей C++
C++ Удаление элемента из массива и сдвиг массива
C++ Удаление из массива
C++ Удаление элементов массива без буферного массива
C++ Удаление из массива
Удаление из массива C++
удаление элементов массива, совпадающих с элементами другого массива C++
C++ Удаление элементов массива
Продолжение цепочки наследования без дублей базовых классов C++
C++ Удаление дублей из сортированного массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
22301 / 10706 / 1741
Регистрация: 12.02.2012
Сообщений: 17,777
04.07.2012, 14:34     Удаление дублей из массива #2
Отобрать куда? В другой массив? Или просто напечатать?
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
04.07.2012, 14:45     Удаление дублей из массива #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <set>
#include <vector>
#include <string>
#include <iterator>
 
int main()
{
   std::vector<std::string> vec = 
   {"Hello", "And", "Hello", "Hello", "What", "Is", "And", "Now", "And"};
   std::set<std::string> set(vec.begin(), vec.end());
   std::copy(set.begin(), set.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
}
http://liveworkspace.org/code/01b393...3a8aab65fd3ca2
Или можно отсортировать, а затем использовать std::unique вместо использования множества.
jdbaha
0 / 0 / 0
Регистрация: 14.03.2012
Сообщений: 7
04.07.2012, 14:58  [ТС]     Удаление дублей из массива #4
воопще отобразить в консоли(сиаут), но если легче сначало в другой массив скопировать потом отобразить то так

Добавлено через 10 минут
Цитата Сообщение от ForEveR Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <set>
#include <vector>
#include <string>
#include <iterator>
 
int main()
{
   std::vector<std::string> vec = 
   {"Hello", "And", "Hello", "Hello", "What", "Is", "And", "Now", "And"};
   std::set<std::string> set(vec.begin(), vec.end());
   std::copy(set.begin(), set.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
}
http://liveworkspace.org/code/01b393...3a8aab65fd3ca2
Или можно отсортировать, а затем использовать std::unique вместо использования множества.
еще не изучал библиотеку stl, как сделать в обычном массиве строк: char mas[150][30]; ???
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
04.07.2012, 15:11     Удаление дублей из массива #5
jdbaha, Бегать по массиву, встретили слово - запоминаем что оно уже встречалось, бежим дальше, встретили слово, проверили не встречалось ли оно нам, встречалось - пропускаем, нет - запоминаем, что встречалось и так до конца массива.
Yandex
Объявления
04.07.2012, 15:11     Удаление дублей из массива
Ответ Создать тему
Опции темы

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