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

Строки: Выбрать из слов те, которые могут быть получены из образца по правилу - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Классы аквариум и обогреватель. Класс обработчик реализует поддержание заданной температуры в аквариуме http://www.cyberforum.ru/cpp-beginners/thread648491.html
Помогиет пожайлуста..расшифруйте что делать..или помогите сделать. В универе новый предмет Объектно ориентированное програмирование, была всего одна лекция ,дали лабораторну.Что делать с ней незнаю. Если можно оюъясните как нибудь по проще..или если есть что нибудь аналогичное. "разработать класс и программу, которая демонстирует его возможности. Требования к классу: - продумать атрибуты...
C++ Сортировка вектора сложного класса (Просто для тех кто знает) Есть класс: class Tovar { protected: Date_class expiry; string articul, name, catigory,barcode; double price; public: /*............................................*/ http://www.cyberforum.ru/cpp-beginners/thread648489.html
C++ Как сдвинуть указатель файла НА НАЧАЛО уже считанной строки?
getline (file,tmp);// считываю строку tmp из файла file ПОТОМ ЧТО-ТО ТИПА file.seekg(???);
Объявить конструкторы C++
Доброго дня. Написал класс с полями и методами. Сделал тестовую программку - все работает. Добавил в класс несколько конструкторов (в .h прототипы, в .сpp реализацию) - не компилируется, на каждую реализацию конструктора дает ошибку, мол, не является членом класса. Вот листинг (C++ Builder): OwnThing.h class OwnThing { char title; char type; int age; ...
C++ Программа построения таблицы значений функции http://www.cyberforum.ru/cpp-beginners/thread648482.html
ЗАДАНИЕ: Для формулы из Таблицы 1 составить программу построения таблицы значений функции при изменении аргумента от L до R с шагом T. В каждой строке выводить значения аргумен¬та и соответствующее ему значение функции в форматированном виде с 4 знаками после за¬пятой. Кроме того, в конце таблицы напечатать отдельной строкой следующее: Среднее арифметическое всех отрицательных значений...
C++ Округление дробных Добрый день! Подскажите как можно округлить число с плавающей точкой до определённого числа знаков после точки? например до 4: 34.5672245 -> 34.5672 34.76549875 -> 34.7655 подробнее

Показать сообщение отдельно
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
08.09.2012, 15:02     Строки: Выбрать из слов те, которые могут быть получены из образца по правилу
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
#include <string>
#include <map>
#include <vector>
 
std::map<char, int> get_pattern(std::string &str) {
    std::map<char, int> result();
    for (int i = 0; i < str.size(); ++i) {
         result[str[i]]++;
    }
    return result;
}
 
int check(std::string &str, std::map<char, int> &pattern) {
    std::map<char, int> transform = get_pattern(str);
    if (transform.size() > pattern.size()) return 0;
    for (std::map<char, int>::iterator it = transform.begin(), find; 
        it != transform.end(); ++it) 
    {
        if ( (find = pattern.find(it->first)) == pattern.end() 
            || it->second > find->second ) return 0;
    }
    return 1;
}
 
int main() {
    std::string initalStr; // начальное слово
    std::vector<std::string> strs; // слова для сравнения
    std::map<char, int> pattern = get_pattern(initalStr);
    for (std::vector<std::string> it = strs.begin(); it != strs.end(); ++it) {
        if (check(*it, pattern)) // запоминаем
    }
}
Год уже не писал перепроверь что к чему.
 
Текущее время: 06:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru