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

Заданы два текста. Определить, можно ли получить первый текст перестановкой слов второго текста. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Для каждого из слов данного текста указать, сколько раз оно встречается в предложении http://www.cyberforum.ru/cpp-beginners/thread148107.html
Для каждого из слов данного текста указать, сколько раз оно встречается в предложении
C++ Создать функцию для ввода целого числа с терминала. Причем вводимое число может быть десятичным, если оно не начинается нулем, восьмеричным, если лиди Создать функцию для ввода целого числа с терминала. Причем вводимое число может быть десятичным, если оно не начинается нулем, восьмеричным, если лидирующая цифра – ноль, шестнадцатеричным, если оно содержит префикс 0x или 0X. С помощью этой функции ввести три целых числа, затем вывести их сумму. http://www.cyberforum.ru/cpp-beginners/thread148106.html
В строке записано выражение вида m/n, где m и n – натуральные числа. Дописать в строку значение этого выражения, округлив его до сотых. C++
В строке записано выражение вида m/n, где m и n – натуральные числа. Дописать в строку значение этого выражения, округлив его до сотых.
C++ Дано вещественное число r и целые неотрицательные m и n. Записать число r в строку в формате :m:n по правилам форматного вывода ТР
Дано вещественное число r и целые неотрицательные m и n. Записать число r в строку в формате :m:n по правилам форматного вывода ТР
C++ Дана матрица. Определить k – количество "особых" элементов данной матрицы, считая элемент "особым", если в строке слева от него находятся меньшие элем http://www.cyberforum.ru/cpp-beginners/thread148100.html
подскажите Дана матрица. Определить k – количество "особых" элементов данной матрицы, считая элемент "особым", если в строке слева от него находятся меньшие элементы, а справа – бóльшие.
C++ Дана квадратная матрица. Упорядочить ее строки по неубыванию сумм элементов строк. Дана квадратная матрица. Упорядочить ее строки по неубыванию сумм элементов строк. подробнее

Показать сообщение отдельно
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
22.06.2010, 02:26     Заданы два текста. Определить, можно ли получить первый текст перестановкой слов второго текста.
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
#include <iostream>
#include <list>
#include <string>
#include <sstream>
#include <algorithm>
 
// возвращает true если все слова из контейнера а есть в контейнере b
bool all_words(const std::list<std::string> & a, const std::list<std::string> & b){
    for ( std::list<std::string>::const_iterator i = a.begin(); i != a.end(); ++i )
        if ( std::find(b.begin(), b.end(), *i) == b.end() )
            return false;
    return true;
}
 
int main(){
    std::string buf, tmp;
    std::list<std::string> a, b;
    std::cout << "First string: ";
    std::getline(std::cin, buf);
    if ( buf.empty() ){
        std::cerr << "Empty strings not allowed!" << std::endl;
        return 1;
    }
    std::istringstream ist(buf);
    while ( ist >> tmp )
        a.push_back(tmp);
    
    std::cout << "Second string: ";
    std::getline(std::cin, buf);
    if ( buf.empty() ){
        std::cerr << "Empty strings not allowed!" << std::endl;
        return 1;
    }
    ist.clear();
    ist.str(buf);
    while ( ist >> tmp)
        b.push_back(tmp);
    
    std::cout << "The first string can" << ( all_words(a, b) ? " " : "'t " ) << "be made from second." << std::endl;
    
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru