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

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

Войти
Регистрация
Восстановить пароль
 
AnreyKazakov
Заблокирован
#1

задача найти преимущества использования контенеров vec и set - C++

29.09.2012, 16:53. Просмотров 402. Ответов 3
Метки нет (Все метки)

Пока не нашел особо больших кординальных преимуществ set'a . В учебнике предлагают решить такой пример: Вводим слово-исключение, если такого в контенере нет -> забиваем в конт. Потом вводим текст и удаляем слова исключения, если найдутся...
Не знаю, я только одно пока отличие нашел, это find, у векторя ее наверно нет (или я про нее не знаю просто), поэтому приходится перебирать элементы по одному.
С сетом начал писать, но сразу какая-то ошибка странная вылетать стала, ни в какую не хчет считать разницу между итераторами find и end ....
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
#include <iostream>
#include <string>
#include <utility>
#include <iterator>
#include <cstddef>
#include <set>
using namespace std;
int main(){
    string str;
    set<string> set1;
    set1.insert(" ");
    cout<<"Enter the initial data"<<endl;
    while(getline(cin,str)){
        set<string>::iterator ifind=set1.find(str);
        
        set<string>::difference_type k=set1.end()-set1.begin(); /*!!! =(((( */
        cout<<k;
        
        if(ifind!=set1.end())set1.insert(str);
        }
    cout<<"ok"<<endl;
    for(set<string>::iterator ix=set1.begin();ix!=set1.end();++ix){cout<<*ix<<" ";}
    cout<<endl;
    return 0;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2012, 16:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос задача найти преимущества использования контенеров vec и set (C++):

Как переписать код без использования set? - C++
template &lt;class T&gt; // шабло обработки данных array&lt;char&gt; array&lt;T&gt;::proceed() { std::set&lt;char&gt; set; // старый ...

как работает метод vec.clear() - C++
Вот я тут читаю книгу по stl библиотеку про вектора, списки, очереди. Тут у меня возник вопрос, помогите плиз. Есть допустим vector&lt;int&gt;...

OpenCv 2 4 7 Ошибка при создании файла vec - C++
Что обозначает эта ошибка и как её исправить ?

Задача без использования типа string - C++
Слова текста из малых латинских букв записаны не менее чем через один пробел; БЕЗ ИСПОЛЬЗОВАНИЯ КОНСТРУКЦИИ STRING: а) написать программу...

Задача по программированию. (Без использования массива) - C++
Даны натуральное число n, целые числа a1, .... an. Заменить все больше семичлены последовательности а1, .... an числом 7. Вычислить кол-во...

Задача на вычисление суммы без использования массивов - C++
Надо вычислить сумму, для заданного числа n: Не знаю как делать. Можно ли сделать эту задачу без массива? Надо ли использовать...

3
soon
2541 / 1306 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.09.2012, 17:20 #2
AnreyKazakov, для того, чтобы ответить на поставленный вопрос, надо изучить то, из чего сделаны контейнеры vector и set. Вы понимаете различия между деревом поиска и просто массивом?
1
AnreyKazakov
Заблокирован
29.09.2012, 18:17  [ТС] #3
Цитата Сообщение от soon Посмотреть сообщение
Вы понимаете различия между деревом поиска и просто массивом?
Нет, я седне только с set ом возиться начал, а про ошибку не подскажите? Ни в какую не прет =(
0
soon
2541 / 1306 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.09.2012, 18:34 #4
AnreyKazakov, в set используется BidirectionalIterator, к нему неприменимы стандартные операции сложения и вычитания.

std::distance
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2012, 18:34
Привет! Вот еще темы с ответами:

Задача со строками без использования библиотеки string.h - C++
Дана непустая строка S. Вывести на экран Эту же строку S, но с пробелами между символами.

доказать что векторы \vec{a} \vec{b} \vec{c} образуют базис - Геометрия
\vec{a}(5,1,3),\vec{b}(-3,2,4),\vec{c}(4,-2,0),\vec{d}(6,1,1) доказать что векторы \vec{a} \vec{b} \vec{c} образуют базис и найти...

Преимущества использования трехпроводной трехфазной сети - Электроника
Почему при симметричной нагрузке применяется трех проводная система передачи электроэнергии? пожалуйста кто нибудь объясните

Преимущества и недостатки использования процедур и функций? - Delphi
Хотелось бы услышать мнение знотоков, например есть ли вред от увлечения многочисленным вложением функций вот допустим в OnCreate мне...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
29.09.2012, 18:34
Ответ Создать тему
Опции темы

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