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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс Строка http://www.cyberforum.ru/cpp-beginners/thread1164170.html
Создать полноценный класс "Строка", с конструкторами, деструктором, преобразованием типов (из char * в String и наоборот, перегрузкой операторов суммирования, присвоения, +=, сравнения ==, !=,...
C++ Создать класс "Дата" с конструкторами, деструктором, указанными методами. Выполнить перегрузку указанных операторов Создать класс Дата, с конструкторами, деструктором, установить дату, увеличить на 1 день (++), уменьшить на один день, добавить дни +=. Перегрузить инкремент и декремент как постфиксный и префиксный,... http://www.cyberforum.ru/cpp-beginners/thread1164143.html
C++ Структуры. Записать в файл имена всех студентов, у которых есть оценка 3
Условие задачи: Необходимо записать в файл имена всех студентов, у которых есть оценка 3. Изначально создать файл с именами студентов. Использовать только структуры(без методов).
C++ Вычисление факториала, найти ошибку в коде
Хотел создать программу для нахождения факториала,но когда я ввожу оба числа ничего не происходит.Объясните пожалуйста почему? #include <iostream> #include<math.h> using namespace std; int...
C++ Работа с объектами http://www.cyberforum.ru/cpp-beginners/thread1164114.html
Помогите пожалуйста написать программу: Создать класс, содержащий сведения о телефонах абонентов. Класс должен содержать следующие данные: фамилии абонентов, год установки телефона, номер телефона,...
C++ Решение уравнения методом половинного деления Решение уравнения методом половинного деления. \sqrt{x} - x + 3 = 0 Программа работает только положительных значениях интервала. Т.е. я понимаю что компилятору не нравится подставлять... подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
02.05.2014, 20:53
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
#include <iostream>
#include <sstream>
#include <string>
 
void swapFirstAndLastWords(std::string &s)
{
    std::istringstream ist(s);
    s.clear();
    std::string firstWord, word;
    ist >> firstWord;
    while(ist >> word && !ist.eof())
        s += word + ' ';
    s += firstWord;
    if (!word.empty())
        s.insert(0, word + ' ');
}
 
void changeFirstAndLast(std::string &s, const std::string &wordToChange)
{
    std::istringstream ist(s);
    ist >> s; // just to swap off first word
    s.clear();
    s += wordToChange;
    if (ist.eof()) // if contained just one word
        return;
    for (std::string word; ist >> word && !ist.eof(); s += ' ' + word);
    s += ' ' + wordToChange;
}
 
int main()
{
    std::string str, word;
    std::cout << "Input string: ";
    std::getline(std::cin, str);
    swapFirstAndLastWords(str);
    std::cout << "After swapping first and last words:\n" << str;
    std::cout << "\n\nEnter word to change: ";
    std::cin >> word;
    changeFirstAndLast(str, word);
    std::cout << "After changing first and last words to our:\n" << str;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru