Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 19.12.2016
Сообщений: 15
1

Проверить для каждого слова, можно ли его составить из букв из словаря

12.01.2017, 15:31. Просмотров 324. Ответов 0
Метки нет (Все метки)

Вводится число n. Далее вводится словарь из n букв. Буквы могут повторяться.
Далее вводится предложение из нескольких слов. Слова разделяются пробелом
Проверить для каждого слова, можно ли его составить из букв из словаря.
Каждую букву для каждого слова можно использовать не более раз ее
повторения в словаре, т.е. если буква "а" встречается в словаре 3
раза, то в каждом слове она может встречаться <= 3 раз.
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 <vector>
#include <sstream>
#include <locale>
 
using namespace std;
 
int main()
{
/*Ввод словаря*/
    int size_slovar;
    cin>>size_slovar;
    std::vector<char>slovar(size_slovar);
    for (int i=0;i<size_slovar;i++)
    {
       cin>>slovar[i];
    }
/*Ввод предложения*/
    std::string sentence;
    cin>>sentence;
 
/*Разделение предложения на слова*/
    std::string word;
 
    std::istringstream iss(sentence, std::istringstream::in);
    std::vector<string> VecWord;
 
    while( iss >> word )
    {
        VecWord.push_back(word);
    }
/*Проверка можно ли скласть из словоря слово из предложения*/
    int size_VecWord=VecWord.size();
    int s=0;
    for(int i=0;i<size_VecWord;i++)
    {
      cout<<VecWord[s]<<"-";
      std::string buffer=VecWord[s];
      int size_buffer=buffer.size();
      for(int i=0;i<size_slovar;i++)
      {
          for(int j=0;j<size_buffer;j++)
          {
                if(buffer[j]==slovar[i])
        {
            buffer.erase(buffer.begin()+j);
            break;
        }
          }
      }
      int size_buffer_2=buffer.size();
      if(size_buffer_2==0)
      {
          cout<<"Yes"<<endl;
      }
      else
      {
           cout<<"No"<<endl;
      }
    }
    
    return 0;
}
Можете исправить ошибки и что бы все правильно выводило?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2017, 15:31
Ответы с готовыми решениями:

Найти все слова из словаря, которые можно составить из букв данного слова
Дано слово и словарь. Необходимо найти все слова из словаря, которые можно составить из букв...

Создать класс словаря, метод которого для каждого слова возвращает его текстовое объяснение
Доброго времени суток! Помогите пожалуйста решить проблему, задача: Создать класс словаря,...

Проверить можно ли указанные слова составить из заданного набора букв
Добрый день! Помогите с заданием. Дана строка произвольных букв. Далее мы вводим 5 слов. Необходимо...

Вывести синонимы для каждого слова словаря
2: Словарь синонимов Вам дан словарь, состоящий из пар слов. Каждое слово является синонимом к...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2017, 15:31

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Проверить можно ли из букв второго предложения составить первое предложение, если нет вывести каких букв не хватает
Дано 2 предложения(ввести 2 предложения) проверить можно ли из букв второго предложения составить...

Установить, можно ли в предложении составить остальные слова из букв первого слова
Как можно решить задачу (ниже) без использования подпрограмм, опираясь на стандартные процедуры и...

Даны два слова A и B. Проверьте, можно ли из букв слова A, составить слово B
Даны два слова A и B. Проверьте, можно ли из букв слова A, составить слово B. Каждый символ слова...

Можно ли в предложении составить остальные слова из букв первого слова
Если кто-то может решить задачу помогите пожалуйста. У самого проблемы c Pascal :(. Установить,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.