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

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

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

find_first_of, разбор полётов - C++

14.01.2014, 15:10. Просмотров 1051. Ответов 1
Метки нет (Все метки)

Есть задание:
В произвольном тексте на английском языке, содержащем не более
10 строк, в каждой строке не более 80 символов. Заменить первую букву каждого слова символом «пробел». Слово – это группа символов, заключенная между разделителями (пробел, запятая, точка и т.д.). Полученный текст напечатать.

Есть почти корректно работающая программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
using namespace std;
int main()
{
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
    string str;
    int index;
    while(cin >> str)
    {
        index = str.find_first_of('abcdefghigklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ');
        str[index]= ' ';
        cout << str;
        
    }
    return 0;
}
Проблема: не понимаю, при таком использовании функции find_first_of у меня появляются ошибки, а при таком:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
using namespace std;
int main()
{
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
    string str;
    int index;
    while(cin >> str)
    {
        index = str.find_first_of(' ,.!');
        str[index+1]= ' ';
        cout << str;
        
    }
    return 0;
}
тоесть, немного обратном в принципе, всё работает. Но, опять же, если я допишу ещё хоть один символ разделения в строку
C++
1
index = str.find_first_of(' ,.!');
то всё снова перестанет работать.
Помогите разобраться с функцией.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2014, 15:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос find_first_of, разбор полётов (C++):

Разбор полётов: взаимодействие классов - C++
Всем снова здравствуйте, и на этот раз у меня вот такой вопрос: Существует ли структура, которая хранит ссылки на разные классы,...

Разбор полётов. Класс десятичное большое число - C++
Код: # include &lt;iostream&gt; using namespace std; class bigfig { char fig; int length; public: bigfig(char* f);...

Разбор полетов - C++
Меня больше всего интересует строчка вычесления позиции символа. (ring - lotr + 1). объясните, пожалуйста int main () { char...

Разбор программы - C++
#include&lt;iostream&gt; using namespace std; void func1(); void func2(); int f; int main() {

разбор программы - C++
друзья хотел бы попросить помощи с одной программой, в программировании не разбираюсь по єтому пришел к вам на форум. Есть программа одно...

разбор среды - C++
помогите разобраться со средой с++установил а как пользоваться незнаю что куда писать надо я только недавно начал осваивать компьютер очеь...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
14.01.2014, 15:22 #2
Кавычки должны быть двойными.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2014, 15:22
Привет! Вот еще темы с ответами:

Разбор кода - C++
Нужно разобрать код. не могу понять что тут выполняется, кроме открытия файлов #include &lt;iostream&gt; #include &lt;fstream&gt; ...

Разбор программы - C++
После недели освоения cuda и разбора программ,наткнулся на урок по куда,прилагается программа перемножения матриц,собственно код: //...

Разбор строки - C++
Помогите разобрать вот такие строки: 2011/07/01 22:08:29 1 104725943 127.0.0.1 a4c58fa5aa21a67deceaa8420802346e aaaaaa bbbbbb ...

Разбор выражений - C++
Вывести значение целочисленного выражения, заданного в виде строки S. Выражение определяется следующим образом: &lt;выражение&gt; ::= &lt;терм&gt;...


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

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

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