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

Строки. В тексте поменять местами каждые два соседних слова - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить слово из последних букв слов введенной строки http://www.cyberforum.ru/cpp-beginners/thread1158004.html
Помогите написать программку Ввестри строку, содержащую несколько слов. Составить слово из последних букв слов, введенной строки.
C++ STL(map). Где инициализировать массив? Для начала: не получалось данную тему назвать более логично, сайт не пропускал :-| Добрый день. Имеется: map<int, string> AutoBrands; map<int, string> AutoBrandsModels; map<int, string> AutoColors; //например AutoBrands = "Alfa Romeo"; http://www.cyberforum.ru/cpp-beginners/thread1157955.html
C++ Vector and string
#include <vector> #include <iostream> using namespace std; int main(void) { vector<string> v(10); string st; int max = 1;
Создание односвязного циклического списка C++
Структура есть: struct Node { int item; Node*next; }; Как создать вершину и как потом в цикле создавать остальные узлы?
C++ Условие с двоеточием. Тернарная условная операция http://www.cyberforum.ru/cpp-beginners/thread1157942.html
Все здрасьте. Где то я видел очень полезную вещь, но не могу вспомнить как правильно использовать. Там был пример с двоеточием, вот типо этого: int main() { bool result; int i = 5; int b = 6;
C++ Построение параболы Здравствуйте. Необходимо построить параболу, удовлетворяющую уравнению: y=a*x^2+b*x+c Я составил программу (приведена ниже), но в итоге проходит построение не всей параболы, а одной ее ветви: Парабола Есть еще одна проблема - парабола строится не из центра, а с левого края. Плюс она получается перевернутой. Вообще не могу понять, почему так происходит. Очень надеюсь на вашу помощь:) Вот... подробнее

Показать сообщение отдельно
SimpleSystem
0 / 0 / 0
Регистрация: 26.04.2014
Сообщений: 7

Строки. В тексте поменять местами каждые два соседних слова - C++

26.04.2014, 15:33. Просмотров 1222. Ответов 5
Метки (Все метки)

Есть задание: нужно считать текст и вывести его на экран, поменяв местами каждые два соседних слова.
Есть готовый код:
 Комментарий модератора 
Тексты надо вставлять в тело сообщения


Проблема заключается в следующем:
эта программа ведет себя нормально только тогда, когда между словами есть только 1 пробел, а если больше, то пробелы будут меняться местами между собой, что мне не нужно.

Библиотеки:
C++
1
2
3
4
5
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <fstream>
#include <string>
Помогите пожалуйста.

Добавлено через 17 минут
вот код
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
int main()
{
    string s1;
    string s[30];
    ifstream ifs("text.txt");
    int count = 0;
    while (getline(ifs, s1, ' '))
    {
        s[count] = s1;
        count++;
    }
    ifs.close();
    string temp;
    for (int i = 0; i<30; i += 2)
    {
        temp = s[i];
        s[i] = s[i + 1];
        s[i + 1] = temp;
    }
    for (int i = 0; i<30; i++)
    {
        cout << s[i] << " ";
    }
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru