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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив: Освобождение выделенной памяти http://www.cyberforum.ru/cpp-beginners/thread909396.html
Сказали переделать код, нужно что бы память освобождалась не в отдельной функции а как то по другому так и не понял как. #include <iostream> #include <cstdlib> #include <ctime> /* Prototipi */ int** createMatrix(int, int); void fillMatrix(int**, int, int); void printMatrix(int **, int, int); int getIndexOfMinElement(int **, int, int);
C++ Заполнить структуру данными из бинарного файла Мне нужно заполнить структуру Note данными из бинарного файла. У меня есть такие структуры: struct Name { string First_Name;//имя string Patronym; //отчество string Last_Name; //фамилия }; struct Day_Of_Birth { http://www.cyberforum.ru/cpp-beginners/thread909393.html
C++ Выход из цикла по нажатию определенной клавиши
Допустим у меня есть какой-нибудь while(1) и мне нужно, чтобы при нажатии, например, esc или enter цикл завершался, как такое сделать? Добавлено через 8 минут А еще лучше, чтобы для продолжения цикла нажать enter, а для выхода из него esc и так после каждой итерации.
C++ Наследование, нахождения произведения и сложения матриц
Организовать производный класс, дополнительно содержащий функции нахождения произведения и сложения матриц. Программу написал, но почему-то значения во всех матрицах задаются одинаково? class.cpp #include <iostream> #include <iomanip> #include <cstdlib> #include <windows.h> #include <cmath> #include <ctime>
C++ После каждого четного элемента массива вставить 2 элемента с тем же значением, полученный массив отсортировать http://www.cyberforum.ru/cpp-beginners/thread909369.html
после каждого четного элемента массива вставить 2 элемента с тем же значением.полученный масив отсортировать.очень хотелось бы с комментариями. пример вывода на экран исх массив 1 2 0 12 14 четные элементы 2 12 14 полученный отсортированный массив 14 14 14 12 12 12 2 2 2 1 0 вот этот код нужно исправить.в нем ошибка(...
C++ Описать класс «вектор». Перегрузить операции * (скалярное произведение, умножение на скаляр) Помогите пожалуйста описать класс «вектор». Перегрузить операции * (скалярное произведение, умножение на скаляр), =. Протестировать работоспособность каждого метода вашего класса. а то экз завтра а я не успела сделать её. подробнее

Показать сообщение отдельно
delexa
2 / 2 / 1
Регистрация: 02.03.2011
Сообщений: 134
22.06.2013, 14:42     Поменять два соседних слова местами
В чем ошибка?

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
#include <string>
#include <iostream>
#include <fstream>
using namespace std;
 
int main ()
{
   setlocale (0, "");
    string s,s2,s3,s4;
    int a, b;
    ifstream f("1.txt");
    getline (f,s);
    cout<<s<<endl;;
    a=0;
 
    for (int i=0; i<s.size(); )
        {
            b=s.find(" ", a+1);
            s2=s.substr(a,b-a);
            a=b+1;
            if (s.find(" ", a+1)) b=s.find(" ", a+1);
            else b=s.size();
            s3=s.substr(a,b-a);
            if (i!=0) s4.append(" ");
            s4.append(s3);
            s4.append(" ");
            s4.append(s2);
            s3.erase();
            s2.erase();
            i=i+b+1;
            a=b+1;
        }
    cout<<s4;
    return 0;
}
Программа работает только если в файле после последнего слова стоит пробел. Что изменить, чтобы она работала и в случае, если в конце нет пробела?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru