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

Найти в тексте группы слов, записанных одними и теми же буквами и отличающиеся только их порядком - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу решения кубического уравнения http://www.cyberforum.ru/cpp-beginners/thread1177669.html
Написать программу решения уравнения ax^3+bx=0 для произвольных a и b.Зарание спасибо.
C++ Нажатие определенной клавиши на клавиатуре = Запуск определенной функции Здравствуйте. У меня такой вопрос: как при нажатии, к примеру, клавиши "1" на клавиатуре запустить нужную мне функцию (Окно с меню работает в графическом режиме.) ? Вот код меню:int main () { int menu1; char d = '\0'; do { initwindow (800, 600); settextstyle (0, 0, 32); //0 0 4 http://www.cyberforum.ru/cpp-beginners/thread1177664.html
C++ Прокомментируйте код
здравствуйте. помогите пожалуйста, нужны комментарии в двух функциях) код не я писал поэтому затрудняюсь и мне нужно понять каждую строчку, так как я начинающий программист) за раннее спасибо //произведение элементов массива, расположенных между первым и вторым нулевыми элементами. int multy(int arr, int n) { int mult = 1, null_1 = 0, null_2 = 0; int i; for(i=0; arr != 0; i++) {...
Сумма ряда. При запуске программы не выводится ответ C++
Подскажите где ошибка? При запуске программы не выводится ответ #include <iostream> #include <cstdlib> #include "math.h" #include "iomanip" /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main() {
C++ Дан целочисленный файл А. Записать в файл В все кратные трём числа из А http://www.cyberforum.ru/cpp-beginners/thread1177615.html
Дан целочисленный файл А. Записать в файл В все кратные трём числа из А. Вот что я написал: #include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main() { int dat, dat2; int n=100;
C++ Получить числа которые входят в массив по 1 разу привет всем, пожалуйста помогите написать программу. дан одноименный массив, получить числа которые входят в массив по 1 разу. подробнее

Показать сообщение отдельно
outoftime
║XLR8║
506 / 428 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
16.05.2014, 19:24     Найти в тексте группы слов, записанных одними и теми же буквами и отличающиеся только их порядком
MarkUS095,
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
#include <iostream>
#include <map>
#include <set>
#include <vector>
#include <string>
 
class multiset : public std::multiset<char> {
public:
    multiset(std::string::const_iterator begin, 
             std::string::const_iterator end)
        : std::multiset<char>(begin, end) { }
    
    bool operator< (const multiset &value) {
        if (this->size() < value.size()) 
            return false;
        
        auto it_a = this->cbegin(), 
             it_b = value.cbegin();
        while (it_a != this->cend() && it_b != value.cend())
            if (*(it_a++) < *(it_b++)) 
                return false;
        
        return true;
    }
};
 
class map : public std::map<multiset, std::vector<std::string>> {
public:
    void add(const std::string &s) {
        multiset m(s.cbegin(), s.cend());       
        this->operator[](m).push_back(s);
    }
    
    friend std::ostream &operator<< (std::ostream &out, const map &m) {
        for (auto pair: m) {
            out << "\033[1;33mChars: \033[0m";
            for (char c: pair.first)
                out << c;
            out << "\t\033[1;33mWords: \033[0m";
            for (auto s: pair.second)
                out << s << ' ';
            out << std::endl;
        }
        
        return out;
    }
};
 
int main (int argc, char const* argv[]) {
    map m;
    
    m.add("some_word");
    m.add("soemwo_rd");
    m.add("so_mwored");
    m.add("ome_rwosd");
    
    m.add("enoter_word");
    m.add("en_orterwod");
    
    std::cout << m;
    
    return 0;
}
Довольно элегантное решение.
Bash
1
2
3
4
ruslan@TFTM-K53TA:~/Programming/c++/cyberforum$ make && ./main
clang++ main.cpp -o main -std=c++11
Chars: _deenoorrtw  Words: enoter_word en_orterwod 
Chars: _demoorsw    Words: some_word soemwo_rd so_mwored ome_rwosd
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru