1 / 1 / 0
Регистрация: 29.09.2013
Сообщений: 72
1

Нужно из 5 букв составить все возможные слова и сравнить их со "словарем"

15.09.2016, 07:18. Показов 1844. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно из 5 букв составить все возможные слова и сравнить их со "словарем" и все слова которые совпали со словарем записать в 3 файл.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2016, 07:18
Ответы с готовыми решениями:

Из букв слова «ИНТЕРПРЕТАТОР» составить все возможные последовательности из четырех букв
Помогите пожалуйста решить задачу: Из букв слова «ИНТЕРПРЕТАТОР» составить все возможные...

Составить все возможные комбинации слов из букв данного слова.
дано произвольное слово из 10 букв. Составить все возможные комбинации слов из букв данного слова...

Вводится слово из n- различных букв (n<10) получить все возможные слова из S букв этого слова (s<=n)
и вывести их в одном из каких нибудь компонентов

Вывести на экран все возможные "слова" (сочетания букв), получаемые из букв этого слова
Пользователь вводит слово. Вывести на экран все возможные &quot;слова&quot;(сочетания букв), получаемые из...

7
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
15.09.2016, 07:23 2
Цитата Сообщение от Student_Skgu Посмотреть сообщение
составить все возможные слова
В смысле все возможные сочетания букв, даже бессмысленные?

Добавлено через 1 минуту
Цитата Сообщение от Student_Skgu Посмотреть сообщение
и сравнить их со "словарем"
Может приложите в тему файл-словарь, вряд ли у кого-то есть желание его делать.
0
1 / 1 / 0
Регистрация: 29.09.2013
Сообщений: 72
15.09.2016, 07:57  [ТС] 3
Тут словарь и слова пример
Вложения
Тип файла: txt slova.txt (62 байт, 3 просмотров)
Тип файла: txt slovar.txt (78 байт, 4 просмотров)
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
35521 / 19996 / 4186
Регистрация: 12.02.2012
Сообщений: 33,172
Записей в блоге: 13
15.09.2016, 10:21 4
Вот генерация всех слов длины от 1 до m из заданного набора букв:

Pascal
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
Program P30;
 
const m = 5;
 
var Word   : Array[1..m] of integer;
var Stri   : String;
Var i,j,n  : integer;
 
Procedure words(n : integer; l: integer);
var i,j,k : integer;
 
Begin
 
     for i:=1 to l Do Word[i]:=1;
     
     While(True) Do Begin
     
         for i:=1 to l Do write(Stri[Word[i]]);
         writeln;
         
         k:=1;
         
         While(True) Do Begin
            if (k > l) then break;
            if (Word[k] < n) then Begin
               Word[k]:=Word[k]+1;
               break;
            end
            Else Begin
               Word[k]:=1;
               k:=k+1;
            End;
         End;
         if (k > l) then break;
     End;
 
End;
 
Begin
 
     Stri:='qwert';
     n:=length(Stri);
 
     for i:=1 to m Do Words(n,i);
 
End.
А по словарю проверь сам. Это просто.
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
15.09.2016, 10:25 5
Ему нужно не это.
Нужно генерировать все подмножества, а для каждого подмножества генерировать все перестановки, например для 2 букв
a
b
ab
ba
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
35521 / 19996 / 4186
Регистрация: 12.02.2012
Сообщений: 33,172
Записей в блоге: 13
15.09.2016, 10:31 6
Легко убедиться, что мое решение покрывает этот запрос... Ведь в словах буквы могут быть одинаковыми (финансовая пирамида MMM). Правда, не пять подряд, разумеется.
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
15.09.2016, 10:49 7
Вот пример его словаря
qwerty
qwe
q
qw
qwet
qwer
qwey
rew
rewq
trewq
treq
ewq
ret
rewq

И как Вы будете в Вашем массиве их искать?

Добавлено через 1 минуту
Цитата Сообщение от Student_Skgu Посмотреть сообщение
Нужно из 5 букв составить все возможные слова
Например из букв апсто можно составить слова
пост
пот
пас
.....

Добавлено через 33 секунды
Игра такая есть...

Добавлено через 11 минут
Извини, я что-то не весь вывод посмотрел, только то что вышло в окно, конец, где слова их 5 букв.
Предложу все же свой вариант, тоже без проверки файла.

Pascal
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
64
65
66
67
68
const n=5;
type mas=array[1..1000] of string; //массив всех возможныз слов
var  s:string;//исходное слово
     a:array [0..n] of integer;//массив для генерации подмножеств
//функция генерации подмножеств
function next_pdm:string;
var s1:string;
    i:byte;
begin
i:=n;
while a[i]=1 do
 begin
  a[i]:=0;
  dec(i);
 end;
inc(a[i]);
s1:='';
for i:=1 to n do
if a[i]=1 then s1:=s1+s[i];
next_pdm:=s1;
end;
//генерация перестановок
procedure next_per(s1:string;l,r:integer;var b:mas;var m:integer);
var i:integer;
    v:char;
begin
if (l=r) then
 begin
  m:=m+1;
  b[m]:=s1;
 end
else
 begin
  for i:=l to r do
   begin
    v:=s1[l];
    s1[l]:=s1[i];
    s1[i]:=v; {обмен s1[i],s1[l]}
    next_per(s1,l+1,r,b,m); {вызов новой генерации}
    v:=s1[l];
    s1[l]:=s1[i];
    s1[i]:=v; {обмен s1[i],s1[l]}
   end;
  end;
end;
//печать массива
procedure print(b:mas;m:integer);
var i:integer;
begin
for i:=1 to m do
writeln(b[i]);
end;
var s1,s2:string;
    b:mas;
    i:byte;
    m:integer;
begin
s:='qwert';
for i:=1 to n do
a[i]:=0;
a[n]:=1;
while a[0]=0 do
 begin
  s1:=next_pdm;
  next_per(s1,1,length(s1),b,m);
 end;
print(b,m);
end.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
35521 / 19996 / 4186
Регистрация: 12.02.2012
Сообщений: 33,172
Записей в блоге: 13
15.09.2016, 10:50 8
Цитата Сообщение от Puporev Посмотреть сообщение
И как Вы будете в Вашем массиве их искать?
- никак не буду. При таком мизерном размере словаря искать нужно не в массиве, а в словаре (генерируя слова одно за другим). Для такого - простым перебором. Для более длинного словаря - сначала словарь отсортирую и двоичным поиском.
0
15.09.2016, 10:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.09.2016, 10:50
Помогаю со студенческими работами здесь

Вывести на экран все возможные "слова" (сочетания букв), получаемые из букв слова
пользователь вводит слово. Вывести на экран все возможные &quot;слова&quot;(сочетания букв), получаемые из...

Вывести на экран все возможные слова состоящие из К букв

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

Составить все возможные слова
Нужно составить все возможные слова состоящие из 8 символов. Каждое слово может состоять только из...

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

Составить все возможные анаграммы из данного слова
4) Составить все возможные анаграммы из данного слова W. В общем как-то так, на данный момент у...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru