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

Разбить строку на слова, добавить эти слова в массив строк - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка W8026 Functions with exception specifications are not expanded inline http://www.cyberforum.ru/cpp-beginners/thread1163348.html
class ExpRDMS: public std::exception { private: __int16 stat; String functionName; String TextStat; public: virtual ~ExpRDMS() throw(){} ExpRDMS();
C++ Работа со строками Доброго времени суток! Помогите исправить программу: Дан текст, слова которого отделяются друг от друга пробелами. Если первое слово является максимальным по длине, то все слова, которые заканчиваются той же буквой, что и первое слово, поместить в конец текста. Программку я написал, но выводит лишь максимальное слово и одно слово слово заканчивающиеся на ту же букву, а должно было переместить... http://www.cyberforum.ru/cpp-beginners/thread1163346.html
C++ Как считывать с консоли до определённого условия?
Мне нужна программа, которая считывала имя папки снова и снова, пока эта папка с таким именем не будет существовать. Сам я написал такую: char folder; while (DirectoryExists(folder) == false) { printf("Enter folder name: "); scanf(folder); } Но она считывает только один раз, а потом идут бесконечные Enter folder name, без считыания.
C++ Дана символьная строка. Вывести на экран только те символы, которые встречаются в ней более трех раз, для каждого из эти
мне нужно срочно!!!! помоги чем сможете. С++ Добавлено через 19 секунд Вот задание Дана символьная строка. Вывести на экран только те символы, которые встречаются в ней более трех раз, для каждого из этих символов указать точное количество повторений.
C++ Глобальные переменные http://www.cyberforum.ru/cpp-beginners/thread1163329.html
Здравствуйте . Разбираю пример с книги на использование глобальных переменных . Там был такой пример: #include "stdafx.h" #include <stdio.h> #include <iostream> using namespace std; int count; //глобальная переменная void f1(void);
C++ Шаблоны функций обработки одномерного массива всем привет! недавно начал изучать шаблоны функций. вот написал программу, посмотрите пожалуйста, правильно ли сделал? // Задание: // В одномерном массиве, состоящем из n вещественных элементов, вычислить: // 1. сумму отрицательных элементов массива; // 2. произведение элементов массива, расположенных между максимальным и минимальным элементами. // 3. Упорядочить элементы массива по... подробнее

Показать сообщение отдельно
Nachinka
11 / 11 / 0
Регистрация: 19.02.2014
Сообщений: 95
01.05.2014, 16:17  [ТС]     Разбить строку на слова, добавить эти слова в массив строк
Спасибо cooller!
Только вывод странноват...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
#include <vector>
#include <iterator>
#include <sstream>
 
using namespace std;
 
int main() {
    setlocale(LC_ALL,"rus");
    string str = "Moscow Never Sleep";
    stringstream s(str);
    vector <string> svec;
      for(string word; s >> word; svec.push_back(word)){
        copy(svec.begin(),svec.end(),ostream_iterator <string> (cout,"\n"));
      }
 
      vector<string>::iterator cur;
      for (cur = svec.begin(); cur<svec.end(); cur++){
       cout<<*cur<<endl;
      }
  return 0;
}
пришлось добавить дополнительный вектор.

Вывод
Bash
1
2
3
4
5
6
Moscow
Moscow
Never
Moscow
Never
Sleep
Добавлено через 8 минут
Или так:
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
#include <iostream>
#include <string>
#include <vector>
#include <iterator>
#include <sstream>
 
using namespace std;
 
int main() {
  setlocale(LC_ALL,"rus");
  string str = "Moscow Never Sleep";
  stringstream s(str);
  vector <string> svec;
    for(string word; s >> word; svec.push_back(word)){
      copy(svec.begin(),svec.end(), ostream_iterator <string> (cout,"\n"));
    }
 
  unsigned int vector_size = svec.size();
  cout << "Ваш вектор." << endl;
    for (int i = 0; i < vector_size; i++) {
      cout << svec[i] << endl;
    }
  return 0;
}
Добавлено через 13 минут
Так как вывод второй для меня удобнее...

Как вот тут не выводить в консоль?

C++
1
std::copy(svec.begin(),svec.end(),std::ostream_iterator <std::string> (std::cout,"\n"));

std::cout заменить на NULL что ли?
 
Текущее время: 04:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru