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

Вывести слова в обратном порядке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Невозможно обратиться к protected член, объявленному в классе "Counter" http://www.cyberforum.ru/cpp-beginners/thread1232631.html
typedef unsigned int uint; class Counter { protected: uint count; Counter() : count(0) { } Counter(int c) : count(c) { } public:
C++ Апишите программу которая может перечислять членов ордена по действительным именам по должностям 4.Вступив в Благотворительный орден программистов(Benevolent Order of Programmers- BOP), вы можете быть известны на собраниях ВОР под своим действительным именем, по названию должности или по секретному псевдониму ВОР. Напишите программу которая может перечислять членов ордена по действительным именам по должностям по секретным псевдонимам или по индивидуально заданным опциям. В основу программы... http://www.cyberforum.ru/cpp-beginners/thread1232611.html
Создание объекта в области памяти C++
Не могу разобраться с таким вопросом. Пусть есть у нас класс Example (у него есть стандартный конструктор и неважно что он делает). и имеется следующая функция: void foo(){ Example one(); Example two; Example *three = new Example; Example *four = new Example(); }
C++ Как сделать преобразование в string для своего класса
есть 2 строчки кода Var a = "dfsfdfd"; string b = (string)a; в класса есть перегруженный оператор operator string (); но компилятор на него не реагирует и тупо не хочет компилировать, сразу пишет ошибку, почему и как сдела чтобы работало? Ошибка 12 error C2440: приведение типов: невозможно преобразовать "Var" в "std::string" c:\users\admin\documents\visual studio...
C++ Требуется собрать кучу object в один контейнер и искать их по object_name http://www.cyberforum.ru/cpp-beginners/thread1232574.html
Пусть дана структура вида: struct object { object(const std::string&_object_name):object_name(_object_name){} bool operator<(const object&o)const{return object_name<o.object_name;} bool operator<(const std::string&str)const{return object_name<str;} std::string object_name; char some_data; }; Требуется собрать кучу object в один контейнер и искать их по object_name....
C++ Нужно продублировать первое чётное число в односвязном списке Написал вот такой код, он рабочий, но никак не пойму, что нужно сделать, чтоб выполнялась поставленная задача. Прошу помочь. #include "stdafx.h" #include <iostream> #include <string.h> #include <conio.h> using namespace std; //описание структуры struct point { int num;//информационное поле подробнее

Показать сообщение отдельно
QGuest
8 / 8 / 0
Регистрация: 08.01.2013
Сообщений: 85
23.07.2014, 20:14     Вывести слова в обратном порядке
Результат:
Вывести слова в обратном порядке

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <iostream>
#include <string>
#include <vector>
#include <conio.h>
 
using namespace std;
 
class StringUtils {
public:
 
    //Разделяет содержимое вектора разделителями
    static vector<vector<string>> split(vector<string> data, string delimiters) {
        vector<vector<string>> result;
        for (int i = 0; i < data.size(); i++) {
            result.push_back(split(data[i], delimiters));
        }
        return result;
    }
 
    //Разделяет строку на части разделителями (delimiters)
    static vector<string> split(string values, string delimiters) {
        vector<string> parts;
 
        string::size_type lastPos = values.find_first_not_of(delimiters, 0);
        string::size_type pos = values.find_first_of(delimiters, lastPos);
        while (string::npos != pos || string::npos != lastPos) {
            parts.push_back(values.substr(lastPos, pos - lastPos));
            lastPos = values.find_first_not_of(delimiters, pos);
            pos = values.find_first_of(delimiters, lastPos);
        }
 
        return parts;
    }
 
    //Объединяет вектор в строку с разделителем 
    static string combine(vector<string> data, string delimiter) {
        string result = "";
        for (int i = 0; i < data.size(); i++) {
            result += data[i] + ((i < data.size() - 1) ? delimiter : "");
        }
        return result;
    }
 
    //Объединяет содержимое вектора в в строки
    static vector<string> combine(vector<vector<string>> data, string delimiter) {
        vector<string> result;
        for (int i = 0; i < data.size(); i++) {
            result.push_back(combine(data[i], delimiter));
        }
        return result;
    }
 
    //Главная функция инвертирования текста
    static string inverse(string text) {
        
        //Разбор строки на вектор предложений (а предложения, в свою очередь, векторы слов)
        vector<vector<string>> data = split(split(text, "."), " ");
        
        //Вся магия
        //Перебор каждого предложения
        for (int i = 0; i < data.size(); i++) {
 
            //Перебор каждого слова в предложении до середины
            for (int j = 0; j < data[i].size() / 2; j++) {
                
                //Перестановка слов
                string temp = data[i][j];
                data[i][j] = data[i][data[i].size() - j - 1];
                data[i][data[i].size() - j - 1] = temp;
            }
        }
 
        //Возвращается готовая строка
        return combine(combine(data, " "), ". ") + ".";
    }
};
 
 
void main() {
    cout << StringUtils::inverse("Some text. Inverted. Bla bla. Wow its inverted string. Some some TEXT.");
    _getch();
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru