С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

вектор "словарь" - C++

07.06.2012, 22:39. Просмотров 342. Ответов 4
Метки нет (Все метки)

задача: создается вектор со словами(words), сортируется и выводится(без повторений). нужно сделать так что бы определенные слова заменялись, к примеру на 'Bleep'...
вся проблема в том что после заполнения первого вектора(ввода Ctrl+Z) через второй "перепрыгивает"
подскажите, пожалуйста, в чем проблема...

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
#include <iostream.h>
#include <string.h>
#include <conio.h>
#include <vector.h>
#include <algorithm.h>
using namespace std;
int main()
{
 vector <string> words;// вектор со словами
 vector <string> dis(4);// вектор с запрещенными словами(количество 4 было поставлено просто для проверки)
 string temp,temp2;
 cout<<"\nVvedite slova \n";
 while(cin>>temp2)    // ввод заканчивается после комбинации Ctrl+Z
  words.push_back(temp2);  
 cout<<"Vvedite nejelatel'nie slova \n";
 while(cin>>temp)
 dis.push_back(temp);
 cout<<"\nKoliсhestvo slov: "<<words.size()<<endl;
 sort(words.begin(), words.end());  // сортировка
 for (int i=0; i<words.size(); ++i)
  if (i==0||words[i-1]!=words[i])  // проверка, новое слово или нет
   for (int j=0; j<dis.size(); ++j)
    {if (words[i]==dis[j]){cout<<"Bleep\n"; break;}else
     cout<<words[i]<<"\n"; break; }
 getch();  
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2012, 22:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос вектор "словарь" (C++):

Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол" - C++
кто то напишите пожалуйста, вот программа: наследуемым классом для комплексного числа объявить класс &quot;радиус-вектор&quot;, имеющий данные...

Создать классы "Вектор" и "Матрица", реализовать умножение матрицы на вектор - C++
Создать классы «Вектор (Строка, столбец)» и «Матрица». Реализовать умножение матрицы на вектор. я задал класс матриц,а как мне задать...

Перегрузка функций "ввести в поток", "вывести с потока", "умножить вектор на число" - C++
Подскажите пожалуйста, как убрать ошибки с этой программы? (делала перегрузку &quot;ввести в поток&quot; и &quot;вывести с потока&quot;, а также &quot;умножить...

Создайте вектор, хранящий десять строковых значений "zero", "one", ..., "nine" - C++
не могу понять как это можно сделать: &quot;Создайте вектор, хранящий десять строковых значений &quot;zero&quot;, &quot;one&quot;, ..., &quot;nine&quot;. Введите их в...

Паттерн "Итератор" для шаблонного класса "Словарь" - C++
Препод дал задание сделать шаблонный словарь и реализовать для него иттератор. Сделал словарь, но как работать с иттератором я понятия не...

Заданный словарь слов. Найти в нем слова-палиндромы, то есть такие, которые одинаково читаются слева направо и наоборот, например, "АННА", "ШАЛАШ" - C++
Заданный словарь слов. Найти в нем слова-палиндромы, то есть такие, которые одинаково читаются слева направо и наоборот, например, &quot;АННА&quot;,...

4
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
07.06.2012, 22:47 #2
поставьте после первого цикла while
C++
1
cin.clear();
и уберите у всех заголовках ".h".
1
BetoN
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 13
07.06.2012, 22:56  [ТС] #3
Спасибо!
я так догадываюсь "cin.clear();" что то чистит...можете объяснить что оно делает?
0
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
07.06.2012, 23:04 #4
после начатия ctrl+z в потоке устанавливается флаг состояния eofbit (конец файла), поэтому что бы следующий cin работал, надо сбросить состояние на goodbit, что и делает фушкция clear().
1
BetoN
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 13
07.06.2012, 23:07  [ТС] #5
еще раз спасибо!
0
07.06.2012, 23:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2012, 23:07
Привет! Вот еще темы с ответами:

Класс "вектор" с конструкторами, позволяющими создать нулевой вектор и вектор с произвольным числом элементов - C++
Привет! Задача следующая. Нужно реализовать класс &quot;вектор&quot; с конструкторами, которые позволяют создать нулевой вектор и вектор с...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Композиция классов "Матрица" и "Вектор" - C++
Люди добрые, здравствуйте. недавно в одной из тем был выложен вот такой класс вектор: на основе этого класса нужно разработать класс...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...


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

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

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