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

Переставить соседние слова в строке местами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Запись каждой строки файла в свой массив http://www.cyberforum.ru/cpp-beginners/thread1659197.html
Есть файл, там допустим вот так: 1 2 3 4 5 6 7 8 9 9 Первую строку записать хочу в один массив, вторую во второй, хочу через fstream, но вот тут ругается: ofstream input("input.txt"); int...
C++ Вызов конструктора происходит до входа в main Дебажу один большой проект Первый брейкпоинт у меня стоит на первой строке в main(), но при этом отладчик сначала попадает в коструктор, где фиксируются такты процессора prof_con (void) :... http://www.cyberforum.ru/cpp-beginners/thread1659169.html
C++ Сколько дней нужно, чтобы автомобиль прошёл заданное расстояние?
Совсем запутался, буду рад увидеть ответ. Перепечатывайте задание на форум.
C++ Найти сумму всех целых чисел в заданном диапазоне
Даны два целых числа А и В (А <В). Найти сумму всех целых чисел А до B включительно
C++ Найти произведение элементов стека и поместить результат в стек http://www.cyberforum.ru/cpp-beginners/thread1659116.html
Сформировать стек из 5 чисел. Найти произведение 3-го и 4-го чисел из стека. Результат поместить в стек. если можно хотелось бы с комментариями, хочется все таки разобраться:cry:
C++ Упражнение из книги Страуструпа. Программа мини-калькулятор. Цифры записанные в строковом формате Привет всем. Не могу понять, как необходимо изменить программу исходя из условия упражнения. Упражнение сформулировано так: Модифицируйте мини-калькулятор, описанный в упр.4, так , чтобы он... подробнее

Показать сообщение отдельно
DavidTs
3 / 3 / 3
Регистрация: 25.11.2015
Сообщений: 127
10.02.2016, 15:27
max_1296, Пользуйтесь библиотечными алгоритмами. Хотя так не очень эффективно, но думаю проще будет понять.
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
36
37
38
39
40
41
42
43
44
45
std::vector<std::string> split(const std::string& s)
{
    std::vector<std::string> ret;
    typedef std::vector<std::string>::size_type string_size;
    string_size i=0;
 
    while(i!=s.size())
    {
 
        while(i!=s.size() && std::isspace(s[i]))
            ++i;
 
        string_size j=i;
        while(j!=s.size() && !std::isspace(s[j]))
            ++j;
 
        if(i!=j)
        {
            ret.push_back(s.substr(i,j-i));
            i=j;
        }
    }
        return ret;
}
void swap_words (std::string& s) 
{
    std::vector<std::string> split_vec=split(s);
    std::vector<std::string>::iterator it=split_vec.begin();
    std::vector<std::string>::iterator it2=++split_vec.begin();
 
    std::cout<<*it<<' '<<*it2<<'\n';
 
    while(it2!=split_vec.end()) 
    {
        std::swap(*it,*it2); ++++it; ++++it2;
    }
    it=split_vec.begin(); 
 
    s.clear();
    while(it!=split_vec.end() )
    {
        s+=std::string(it->begin(), it->end())+' ';
        ++it;
    }
}
Добавлено через 2 минуты
Цитата Сообщение от DavidTs Посмотреть сообщение
std::cout<<*it<<' '<<*it2<<'\n';
Забыл снять.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru