Форум программистов, компьютерный форум 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 main() { char a,i,b,m;
C++ Работа с объектами http://www.cyberforum.ru/cpp-beginners/thread1164114.html
Помогите пожалуйста написать программу: Создать класс, содержащий сведения о телефонах абонентов. Класс должен содержать следующие данные: фамилии абонентов, год установки телефона, номер телефона, адрес. Написать программу, выдающую номер телефона по вводимой фамилии абонента или адресу. Данные и результаты должны храниться в файлах. Предусмотреть возможность добавления информации, удаления...
C++ Решение уравнения методом половинного деления Решение уравнения методом половинного деления. \sqrt{x} - x + 3 = 0 Программа работает только положительных значениях интервала. Т.е. я понимаю что компилятору не нравится подставлять отрицательное число под корень. Но в то же время если ввести интервал (корень 4,...) то программа выдаст, что в этом интервале корня нет. Если можно отвечайте попроще, я только начал учить с++. #include... подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,420
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;
}
 
Текущее время: 14:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru