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

В слове угаданы некоторые буквы, надо рассмотреть все возможные варианты. - C++

Восстановить пароль Регистрация
 
akinfan
1 / 1 / 0
Регистрация: 11.04.2012
Сообщений: 23
28.09.2012, 22:51     В слове угаданы некоторые буквы, надо рассмотреть все возможные варианты. #1
Помогите пожалуйста решить задачу в borland c++

В слове угаданы некоторые буквы, надо рассмотреть все возможные варианты. Для этого пользователь вводит "шаблон" слова, заменяя неизвестные буквы пробелом или знаком подчеркивания; компьютер из файла-словаря выбирает все слова, удовлетворяющие этому шаблону.

Добавлено через 2 часа 52 минуты
Помогите пожалуйста срочно надо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2012, 22:51     В слове угаданы некоторые буквы, надо рассмотреть все возможные варианты.
Посмотрите здесь:

Структуры. Вывести все возможные варианты покупки товаров C++
C++ Все возможные варианты перестановки символов строки
C++ Получить все возможные варианты загрузки ящиков
C++ Строки. В каждом чётном по порядку слове удалить все нечётные буквы, а в каждом нечётном слове удалить все чётные буквы.
C++ Вывести все возможные варианты перестановок от 1 до n
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rinat_w
89 / 85 / 4
Регистрация: 13.11.2011
Сообщений: 183
28.09.2012, 23:27     В слове угаданы некоторые буквы, надо рассмотреть все возможные варианты. #2
akinfan,
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
#include <iostream>
#include <fstream>
using namespace std;
bool issame(string x, string y){
     if (x.size()!=y.size()) return false;
     bool result=true;
     for (int i=0; i<x.size(); i++)
         if (x[i]!=y[i] && x[i]!=' ' && x[i]!='_') result=false;
     return result;
}
int main(){
    ifstream fin("dictionary.txt");
    string str;
    cout<<"Enter word : ";
    getline(cin, str);
    int n;
    fin>>n;
    string *dict=new string[n];
    cout<<"Result :\n";
    for (int i=0; i<n; i++){
        getline(fin, dict[i]);
        if (issame(str, dict[i])) cout<<dict[i]<<endl;
    }
    system("pause");
    return 0;
}
файл dictionary.txt :
11
programmist
poogranmist
bat
c++
party
pocker
tennis
laboratory
cat
soft
dog
Миниатюры
В слове угаданы некоторые буквы, надо рассмотреть все возможные варианты.  
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
28.09.2012, 23:32     В слове угаданы некоторые буквы, надо рассмотреть все возможные варианты. #3
C++
1
2
3
4
5
6
7
bool issame(string x, string y){
     if (x.size()!=y.size()) return false;
    
     for (int i=0; i<x.size(); i++)
         if (x[i]!=y[i] && x[i]!=' ' && x[i]!='_') return false;
     return true;
}
//some minor changes)
Керра
Модератор
 Аватар для Керра
1270 / 438 / 45
Регистрация: 24.08.2011
Сообщений: 2,123
29.09.2012, 10:57     В слове угаданы некоторые буквы, надо рассмотреть все возможные варианты. #4
akinfan, задача решена? а то у вас кросспост идет в Заказе программ. что-то надо удалить.
Yandex
Объявления
29.09.2012, 10:57     В слове угаданы некоторые буквы, надо рассмотреть все возможные варианты.
Ответ Создать тему
Опции темы

Текущее время: 23:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru