Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для MaXaS
11 / 11 / 3
Регистрация: 22.05.2011
Сообщений: 164

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

12.03.2012, 02:08. Показов 1858. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно написать программу, которая записывает входную строку состоящюю из трех слов в три разных(по слову в каждую) строки. Желательно без использования библиотек, кроме iostream.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.03.2012, 02:08
Ответы с готовыми решениями:

Сформировать строку, состоящую из последних трех символов каждого слова исходной строки
Помогите сделать программу, которая формирует строку, состоящую из последних трех символов каждого слова исходной строки. Начальную...

Разбить входную строку на массив слов, содержащих либо только цифры, либо только буквы
Доброго времени суток. Необходимо разбить входную строку на массив слов, содержащих либо только цифры, либо только буквенные символы. ...

Строка: Удалить из каждого слова цифры и сформировать строку, состоящую из остатков слов...
Есть задача: Дан одномерный массив слов. Удалить из каждого слова цифры и сформировать строку, состоящую из остатков слов, расположенных...

16
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
12.03.2012, 02:09
Можно пример входной строки и выходных.
0
 Аватар для kazak
3602 / 2743 / 355
Регистрация: 11.03.2009
Сообщений: 6,304
12.03.2012, 02:12
C++
1
cin << word1 << word2 << word3;
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
12.03.2012, 02:23
kazak,
C++
1
cin >> word1 >> word2 >> word3;
0
 Аватар для MaXaS
11 / 11 / 3
Регистрация: 22.05.2011
Сообщений: 164
12.03.2012, 08:10  [ТС]
Неет, доспустим на входе уже есть строка string1 "word1 word2 word3". На выходе нужно записать word1 в первую строку, word2 во вторую, и соответственно word3 в третью.
ПС Нужно работать не с вводом/выводом, а нужно вытащить из уже существующих строк слова.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
12.03.2012, 10:48
MaXaS, istringstream
1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
12.03.2012, 10:57
boost::split. А вручную писать лень.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
12.03.2012, 11:19
Цитата Сообщение от 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();
}
1
27 / 27 / 4
Регистрация: 02.11.2010
Сообщений: 370
12.03.2012, 12:27
Зачем так сложно?

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];
  }
}
1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
12.03.2012, 12:40
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);
1
27 / 27 / 4
Регистрация: 02.11.2010
Сообщений: 370
12.03.2012, 12:45
1) использовать вектора, когда можно обойтись обычным фором считаю неразумным
2) слова испокон веков разделяются пробелами. да и усовершенствовать иф не так уж сложно
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
12.03.2012, 12:47
Если слова разделены пробелом, табом или переходом на новую строку, то можно так:
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;
}
1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
12.03.2012, 12:53
Ksan, А я считаю неразумным писать лесопеды, когда есть уже готовые вещи...
0
 Аватар для MaXaS
11 / 11 / 3
Регистрация: 22.05.2011
Сообщений: 164
12.03.2012, 18:53  [ТС]
А есть ли аналог istringstream в QT?
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
12.03.2012, 19:27
MaXaS, QTextStream
1
27 / 27 / 4
Регистрация: 02.11.2010
Сообщений: 370
12.03.2012, 20:07
ForEveR, для начинающих (посмотри как называется этот раздел) фор куда понятней
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
12.03.2012, 20:10
Лучший ответ Сообщение было отмечено как решение

Решение

go, Ну аккурат boost::token_compress_on сие и делает.

Ksan, Начинающие - это не только освоившие cin/cout.
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.03.2012, 20:10
Помогаю со студенческими работами здесь

Разбить строку на слова и вывести количество повторений этих слов в строке
Слова разделены пробелами

Разбить строку на слова, а для слов сделать массив с символьными массивами
Есть задача: в строке содержатся слова, внутри которых есть цифры, отображающие положение слова в предложении (цифры, а не числа, ибо надо...

Дана строка состоящая из слов, разделенных пробелами. Составить строку состоящую из первых символов слов
В Delphi

Имеем строку, состоящую из слов, разделенных пробелами. Определить количество слов, содержащих ровно три буквы
Имеем строку, состоящую из слов, разделенных пробелами. Определить количество слов, содержащих ровно три буквы 'b'

Предикат, преобразующий строку в строку, состоящую из первых букв слов
Создайте предикат, преобразующий исходную строку в строку, состоящую из первых букв слов первоначальной строки.


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru