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

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

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

Задачка из страуструпа , глава 4 ,вектора - C++

28.11.2013, 18:59. Просмотров 476. Ответов 3
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста довести задачку до ума

Вот сама задачка:
{deleted}
 Комментарий модератора 
Нарушены п.5.18 и 5.19 Правил
5.18. Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.
5.19. Запрещено создавать темы в виде ссылок на задания или коды программ, расположенные на других сайтах.

Делается она по такому примеру:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "std_lib_facilities.h"
 
//------------------------------------------------------------------------------
 
// simple dictionary: list of sorted words:
int main()
{
    vector<string> words; 
    string temp;
    while (cin>>temp)                // read whitespace separated words
        words.push_back(temp);       // put into vector
 
    cout << "Number of words: " << words.size() << endl;
 
    sort(words.begin(),words.end()); // sort "from beginning to end"
 
    for (int i = 0; i< words.size(); ++i) 
        if (i==0 || words[i-1]!=words[i]) // is this a new word?
            cout << words[i] << "\n";
}
 
//------------------------------------------------------------------------------

Мой код:

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
27
28
29
30
31
32
33
34
35
#include "../../std_lib_facilities.h"
 
 
 
 
int main()
{
 
vector<string> badwords;
string temp;
string disliked = "broccoli";
 
 
//ВВодим слова для обработки и печатаем кол-во слов
while (cin>>temp)
    badwords.push_back(temp);
    cout << "Kol-vo slov do obrabotki" << badwords.size() << endl;
    
 
//Проверяем, есть ли нежелательное слово
for (int i=0;i<badwords.size();i++)
    if (badwords[i]==disliked)
 
 
//Перезаписываем вектор
 
 
//тут хочу вывести новый вектор
cout << "Vivodim obnovlennii vektor" << endl;
for (int i=0;i<badwords.size();i++)
cout << badwords[i] << endl;
 
 
    keep_window_open();
}

Собственно не могу выполнить "//Перезаписываем вектор" и распечатку нового вектора
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2013, 18:59     Задачка из страуструпа , глава 4 ,вектора
Посмотрите здесь:

Задача из книги Страуструпа 4 глава векторы - C++
Задача: Напишите программу, заглушающую нежелательные слова; иначе говоря, считайте слова из потока cin и выведите их в поток cout, заменив...

Задачка из книги Страуструпа - C++
Здравствуйте могли бы вы мне помочь в решении задачи. Вот собственно само условие. Условие: Теперь измените тело цикла так, чтобы он...

Задачка из книги Страуструпа... - C++
Доброго времени суток всем! Заранее благодарен за ответы и, возможные, пути исправления... Итак: &quot;Считайте последовательности чисел...

Задачка от Страуструпа для новичков - C++
Вот задачка от Страуструпа для новичков char* cat(const char* str_1, const char* str_2) { int len_1 = strlen(str_1), ...

Bj.Stroustroup глава 8 задание - C++
В условии задания сказано объявить в заголовке 2 void-функции и переменную extern int foo. Код: extern int foo; void print_foo(); ...

Лафоре. Глава 11. Задача 2 - C++
Решал задачку из учебника - Лафоре. Глава 11. Задача 2. Вот код #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;conio.h&gt; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
scenotaph
120 / 120 / 15
Регистрация: 29.03.2013
Сообщений: 237
28.11.2013, 19:38     Задачка из страуструпа , глава 4 ,вектора #2
C++
1
2
3
4
5
for (int i=0;i<badwords.size();i++) {
    if (badwords[i]==disliked) {
        badwords[i] = "BLEEP";
    } cout<<badwords[i]<<" ";
}
tyan
0 / 0 / 0
Регистрация: 03.06.2012
Сообщений: 14
28.11.2013, 19:45  [ТС]     Задачка из страуструпа , глава 4 ,вектора #3
Цитата Сообщение от scenotaph Посмотреть сообщение
C++
1
2
3
4
5
for (int i=0;i<badwords.size();i++) {
    if (badwords[i]==disliked) {
        badwords[i] = "BLEEP";
    } cout<<badwords[i]<<" ";
}
блин, вот так ошибка, спасибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2015, 01:47     Задачка из страуструпа , глава 4 ,вектора
Еще ссылки по теме:

Прата, задача 2, глава 6 - C++
Доброго времени суток. Учу программирования по книжке Прата. И вот такая задача: &quot;Напишите программу, которая считывает до десяти...

While и If, Страуступ, Часть 1, глава 3.5.1 - C++
Здравствуйте уважаемые форумчане! Я приступил к освоению программирования с использованием языка С++ и в качестве учебного пособия выбрал...

Угадайка от Страуструпа - C++
Писал, писал, устал. В логике ошибок нет. Как алгоритм оптимизировать и спагетти свернуть? #include &quot;std_lib_facilities.h&quot; int...

Калькулятор Страуструпа С++ - C++
Я новичок в С++, пытаюсь читать Страуструпа. Дошёл до строчного калькулятора и не понимаю принципов его работы, перечитывал главу 4 раза....

Задание из Страуструпа - C++
Добрый день,дорогие форумчане.В общем читаю книжечку Страуструпа.Выполняю задания.Вот что-то у меня ступор.Прошу Вашего совета:) ...

Калькулятор страуструпа - C++
Ну по крайней мере если это и не он, то очень на него похож. Проблема в скобках.Например: (1+1 - всё хорошо, выплывет ощибка...


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

Или воспользуйтесь поиском по форуму:
Flysolo
0 / 0 / 0
Регистрация: 13.03.2015
Сообщений: 22
23.07.2015, 01:47     Задачка из страуструпа , глава 4 ,вектора #4
Сделал как тут парни отписались, но программа выводит лишь строчку с количеством слов в векторе и сигнал BLEEP, но список слов программа не выносит. Помогите пожалуйста

вот мой код
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
27
28
#include <conio.h>
#include "std_lib_facilities.h"
#include <clocale>
 
int main()
 
{
setlocale (LC_ALL, "Russian");
 
vector<string> words; 
    string temp;
    string disliked = "bro";
 
while (cin>>temp)  
    words.push_back(temp);
cout << "Количество слов в векторе: " << words.size() << endl;
 
    sort(words.begin(), words.end());
 
for (int i = 0; i<words.size(); ++i)
    if (words[i]==disliked){
        words[i]="BLEEP";
    cout << words[i];
    }
_getch();   
return 0;
keep_window_open();
}

Вот сама задача: Напишите программу, заглушающую нежелательные слова; иначе говоря, считайте слова из потока cin и выведите их в поток cout, заменив нежелательные слова словом BLEEP. Начните с одного нежелательного слова, например string disliked = "Broccoli"; Когда отладите программу, добавьте еще несколько нежелательных слов.

Добавлено через 1 час 0 минут
C++
1
2
3
4
5
6
for (int i = 0; i<words.size(); ++i){
        if (words[i] == disliked)
            cout << "BLEEP" << endl;    
        else 
            cout << words[i] << endl;
    }
Вот так заработала программа. Теперь надо ввести несколько нежелательных слов
как правильно это сделать, подскажите
Yandex
Объявления
23.07.2015, 01:47     Задачка из страуструпа , глава 4 ,вектора
Ответ Создать тему
Опции темы

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