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

Разбить входную строку, состоящую из трех слов, на слова - C++

Восстановить пароль Регистрация
 
MaXaS
 Аватар для MaXaS
10 / 10 / 0
Регистрация: 22.05.2011
Сообщений: 164
12.03.2012, 02:08     Разбить входную строку, состоящую из трех слов, на слова #1
Нужно написать программу, которая записывает входную строку состоящюю из трех слов в три разных(по слову в каждую) строки. Желательно без использования библиотек, кроме iostream.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2012, 02:08     Разбить входную строку, состоящую из трех слов, на слова
Посмотрите здесь:

Сформировать строку, состоящую из слов исходной строки, записанных наоборот C++
C++ Разбить строку на слова из словаря
C++ Разбить строку на слова
C++ Разбить введенную строку на слова
C++ Строку разбить на слова и слова запихнуть в масив char
Строка: Строку разбить на слова и слова запихнуть в массив char. C++
C++ Разбить строку на слова
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
12.03.2012, 02:09     Разбить входную строку, состоящую из трех слов, на слова #2
Можно пример входной строки и выходных.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
12.03.2012, 02:12     Разбить входную строку, состоящую из трех слов, на слова #3
C++
1
cin << word1 << word2 << word3;
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
12.03.2012, 02:23     Разбить входную строку, состоящую из трех слов, на слова #4
kazak,
C++
1
cin >> word1 >> word2 >> word3;
MaXaS
 Аватар для MaXaS
10 / 10 / 0
Регистрация: 22.05.2011
Сообщений: 164
12.03.2012, 08:10  [ТС]     Разбить входную строку, состоящую из трех слов, на слова #5
Неет, доспустим на входе уже есть строка string1 "word1 word2 word3". На выходе нужно записать word1 в первую строку, word2 во вторую, и соответственно word3 в третью.
ПС Нужно работать не с вводом/выводом, а нужно вытащить из уже существующих строк слова.
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.03.2012, 10:48     Разбить входную строку, состоящую из трех слов, на слова #6
MaXaS, istringstream
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
12.03.2012, 10:57     Разбить входную строку, состоящую из трех слов, на слова #7
boost::split. А вручную писать лень.
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.03.2012, 11:19     Разбить входную строку, состоящую из трех слов, на слова #8
Цитата Сообщение от ForEveR Посмотреть сообщение
А вручную писать лень.
Ну можно
C++
1
2
3
4
5
6
7
8
9
10
11
12
typedef std::string             T_str;
typedef std::vector<T_str>      T_vec;
 
int split_str_to_vec(const T_str s, const T_str DELIM, T_vec &v)
{
    size_t l, r;
 
    for ( l = s.find_first_not_of(DELIM), r = s.find_first_of(DELIM, l) ; 
        l != std::string::npos ; l = s.find_first_not_of(DELIM, r), r = s.find_first_of(DELIM, l) )
        v.push_back(s.substr(l, r - l));
    return v.size();
}
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
12.03.2012, 12:27     Разбить входную строку, состоящую из трех слов, на слова #9
Зачем так сложно?

C++
1
2
3
4
5
6
7
8
9
10
11
void string2three(string str, string three[])
{
  for(int i=0, j=0; i<str.length(); ++i)
  {
    if(str[i] == ' ')
    {
      ++j; continue;
    }
    three[j] += str[i];
  }
}
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
12.03.2012, 12:40     Разбить входную строку, состоящую из трех слов, на слова #10
Ksan,
1) Почему сложно? Если для вас сложно - не значит, что сложно для остальных.
2) Где обработка прочих разделителей?
3)
C++
1
2
std::vector<std::string> words;
boost::split(words, string, boost::is_any_of(delims), boost::token_compress_on);
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
12.03.2012, 12:45     Разбить входную строку, состоящую из трех слов, на слова #11
1) использовать вектора, когда можно обойтись обычным фором считаю неразумным
2) слова испокон веков разделяются пробелами. да и усовершенствовать иф не так уж сложно
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
12.03.2012, 12:47     Разбить входную строку, состоящую из трех слов, на слова #12
Если слова разделены пробелом, табом или переходом на новую строку, то можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <string>
#include <sstream>
#include <iostream>
 
int main()
{  
  std::string w = "w1 w2 w3", w1, w2, w3;
  std::istringstream s(w);
  s >> w1 >> w2 >> w3;
  std::cout << w1 << "\t" << w2 <<"\t" << w3 << std::endl;
}
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
12.03.2012, 12:53     Разбить входную строку, состоящую из трех слов, на слова #13
Ksan, А я считаю неразумным писать лесопеды, когда есть уже готовые вещи...
MaXaS
 Аватар для MaXaS
10 / 10 / 0
Регистрация: 22.05.2011
Сообщений: 164
12.03.2012, 18:53  [ТС]     Разбить входную строку, состоящую из трех слов, на слова #14
А есть ли аналог istringstream в QT?
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
12.03.2012, 19:27     Разбить входную строку, состоящую из трех слов, на слова #15
MaXaS, QTextStream
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
12.03.2012, 20:07     Разбить входную строку, состоящую из трех слов, на слова #16
ForEveR, для начинающих (посмотри как называется этот раздел) фор куда понятней
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2012, 20:10     Разбить входную строку, состоящую из трех слов, на слова
Еще ссылки по теме:

Разбить строку на слова C++
Разбить строку на слова, добавить эти слова в массив строк C++
C++ Разбить строку на массив слов используя strtok()
Использование STRTOK Разбить строку на слова, из слов составить список C++ Функция strtok C++
C++ Сформировать новую строку, состоящую из слов исходной строки

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
12.03.2012, 20:10     Разбить входную строку, состоящую из трех слов, на слова #17
Сообщение было отмечено автором темы, экспертом или модератором как ответ
go, Ну аккурат boost::token_compress_on сие и делает.

Ksan, Начинающие - это не только освоившие cin/cout.
Yandex
Объявления
12.03.2012, 20:10     Разбить входную строку, состоящую из трех слов, на слова
Ответ Создать тему
Опции темы

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