Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
qwertyush
0 / 0 / 0
Регистрация: 28.06.2016
Сообщений: 15
1

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

28.06.2016, 13:11. Просмотров 860. Ответов 5
Метки нет (Все метки)

Здравствуйте! Помогите, пожалуйста решить следующее задание.
Даны некоторый текст и словарь с N слов. Определить, какие слова и в каком количестве можно создать с букв заданного текста.
Возникают проблеми со словарем, не могу никак разобраться, как считать по слову чтобы знать длину каждого слова. Заранее огромное спасибо!)
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2016, 13:11
Ответы с готовыми решениями:

Определить, на какие квадраты и в каком их количестве будет разрезан исходный прямоугольник
Дан прямоугольник с размерами 425х131. От него отрезают квадраты со стороной 131, пока это...

Строки. Определить минимальное количество первых символов, по которым можно различать слова с заданного текста.
Задача. Определить минимальное количество первых символов, по которым можно различать слова с...

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

На какие квадраты и в каком их количестве будет разделен прямоугольник
Дан прямоугольник с размерами 425 х 131. От него отрезают квадраты со стороной 131, пока это...

Как создать слова из букв заданного слова
Всем привет! Помогите, пожалуйста, написать код к следующей задаче. По заданному с клавиатуры...

5
IVAN1234
45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
28.06.2016, 13:45 2
fscanf()
0
LFC
730 / 535 / 416
Регистрация: 17.09.2015
Сообщений: 1,598
28.06.2016, 17:28 3
Лучший ответ Сообщение было отмечено qwertyush как решение

Решение

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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define N 10
//дан текст и словарь с N слов.Определить какие слова можно составить из букв текста
int main()
{
    char Text[] = "Full of vexation come I, with complaint"
             "Against my child, my daughter Hermia."
             "Stand forth, Demetrius. My noble lord,"
             "This man hath my consent to marry her."
             "Stand forth, Lysander. And, my gracious Duke,"
             "This man hath bewitch'd the bosom of my child.";
 
    char Dictionary[N][15] = {"revelling", "zero", "must", "june", "entreat", "modesty",
                             "refuse", "fruitless", "pilgrimage", "sovereignty"};
    char AlphaBeta[27] = "";
    int i = 0, j, n = 0, flag;
    while(1){//инициализируем первый элемент "азбуки"
        if(isalpha(Text[i])){
            Text[i] = tolower(Text[i]);
            AlphaBeta[0] = Text[i];
            break;
        }
    }
    while(Text[i]){
        if(j == 26)//если "азбука" заполнилась
            break;
        flag = 0;
        if(isalpha(Text[i])){//если символ является буквой
            Text[i] = tolower(Text[i]);//проверяем чтобы она была прописной
            for(j = 0; j <= n; ++j)
                if(Text[i] == AlphaBeta[j])
                    flag = 1;
            if(!flag){//и если ее еще нет в "азбуке"
                AlphaBeta[j] = Text[i];//то записываем
                ++n;
            }
        }
        ++i;
    }
    for(i = 0; i < N; ++i){//перебираем все слова из словаря
        for(j = 0; Dictionary[i][j]; ++j){//побуквенно
            n = 0;
            flag = 0;
            while(AlphaBeta[n]){
                if(Dictionary[i][j] == AlphaBeta[n])//на соответствие "азбуке"
                    flag = 1;
                ++n;
            }
            if(!flag)
                break;
        }
        if(j == strlen(Dictionary[i]))//если все буквы слова есть в "азбуке"
            puts(Dictionary[i]);//то печатаем это слово
    }
    return 0;
}
1
SergioO
168 / 184 / 90
Регистрация: 13.12.2015
Сообщений: 1,000
28.06.2016, 18:13 4
Цитата Сообщение от qwertyush Посмотреть сообщение
Даны некоторый текст и словарь с N слов
в каком виде даны? что значит даны?
Цитата Сообщение от qwertyush Посмотреть сообщение
Определить, какие слова и в каком количестве можно создать с букв заданного текста
надо генерировать биномиальные коэффициенты, тк можно, например, собрать, либо одно слово, либо другое и притом можно собрать второе и третье или второе и четвертое и пятое(тк из букв 3 -его не хватит на сборку каких-нибудь альтернативных вариантов) - пример: "самоходка", если мы слово "самка" собрали, то "комод" или можно собрать "сом" и "код", поэтому сколько и каких зависит от порядка, те какие слова сначала мы будем собирать, какие после, тк буквы мы должны выкидывать. притом количество слов мы заранее не знаем. текст надо сразу структурировать в цифровое дерево, поиск по дереву тоже цифровой. либо, как вариант, быстрая сортировка и самобалансирующиеся деревья. хороший курсовичок
либо препод сам задачу не понял ))
и имеется в виду проходить по одному слову через весь текст...
тогда это примитивная задача решение которой выше (наискосок глянул). последовательный перебор...
1
qwertyush
0 / 0 / 0
Регистрация: 28.06.2016
Сообщений: 15
28.06.2016, 22:48  [ТС] 5
посоветуйте, пожалуйста, где можно почитать доступное обьяснение деревьев для начинающих программистов, ознакомленных з деревьями только из курса дискретной математики )

Добавлено через 45 секунд
Цитата Сообщение от SergioO Посмотреть сообщение
текст надо сразу структурировать в цифровое дерево, поиск по дереву тоже цифровой. либо, как вариант, быстрая сортировка и самобалансирующиеся деревья.
0
SergioO
168 / 184 / 90
Регистрация: 13.12.2015
Сообщений: 1,000
28.06.2016, 23:05 6
Цитата Сообщение от qwertyush Посмотреть сообщение
посоветуйте, пожалуйста, где можно почитать доступное обьяснение деревьев для начинающих программистов
а что надо? я что прав оказался?
0
28.06.2016, 23:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2016, 23:05

Какие стулья и в каком количестве выпускать, чтобы стоимость продукции была максимальной?
:wall:Фабрика выпускает стулья двух видов. На изготовление одного стула первого типа, стоящего с1,...

Подсчитать на компьютере суммы сдачи и указать какие банкноты и в каком количестве образую сумму
Как создавать массивы я знаю, а вот как это сделать с банкнотами?

Отсортировать слова заданного текста по возростанию количества гласных букв
Помогите пожалуиста написать програму,очень нужно Создать класс, который состоит из...


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

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

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