Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.05.2008, 16:43
Sanek_ntsk Sanek_ntsk вне форума
Новичок
 
Регистрация: 02.09.2007
Сообщения: 55
Репутация: 10
По умолчанию Составить слова

У меня есть некоторое количество символов. Как из них составить всевозможные комбинации слов и сохранить в текстовый файл?
Ответить с цитированием
  #2  
Старый 30.05.2008, 17:04
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Перестановка?
Или нужны осмысленые слова?
Ответить с цитированием
  #3  
Старый 30.05.2008, 17:13
Sanek_ntsk Sanek_ntsk вне форума
Новичок
 
Регистрация: 02.09.2007
Сообщения: 55
Репутация: 10
По умолчанию

Объясню поточнее: есть несколько символов(буквы). нужно составить слова из этих символов, но длина слова должна быть равна указанному числу. слова должны быть любыми
Ответить с цитированием
  #4  
Старый 30.05.2008, 17:23
Аватар для }{ОТТ@БЫЧ
}{ОТТ@БЫЧ }{ОТТ@БЫЧ вне форума
Прохожий
 
Регистрация: 07.05.2008
Сообщения: 41
Репутация: 10
По умолчанию

Если я правильно понял ты хочешь чтоб программа составляла слова со смысловой нагрузкой? например из букв а, м, т, п составлялись слова типа: тамп, ампт?
Ответить с цитированием
  #5  
Старый 30.05.2008, 17:29
Sanek_ntsk Sanek_ntsk вне форума
Новичок
 
Регистрация: 02.09.2007
Сообщения: 55
Репутация: 10
По умолчанию

Цитата:
Сообщение от }{ОТТ@БЫЧ
Если я правильно понял ты хочешь чтоб программа составляла слова со смысловой нагрузкой? например из букв а, м, т, п составлялись слова типа: тамп, ампт?
да. ты правильно понял
Ответить с цитированием
  #6  
Старый 30.05.2008, 17:32
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Восклицание Длина

Какой должна быть длина ?
Я могу написать тебе алгоритм, но только зная фиксированную длину символов, а не постоянно разную. Сколько нужно ?
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей
Ответить с цитированием
  #7  
Старый 30.05.2008, 17:44
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

Объявляешь переменные:
Код:
var
  Words:array [0..32] of String;
  i:Integer;
Теперь в процедуре OnCreate пиши:
Код:
Words[0]:='à';
Words[1]:='а';
Words[2]:='б';
Words[3]:='в';
Words[4]:='г';
Words[5]:='д';
Words[6]:='е';
Words[7]:='ё';
Words[8]:='ж';
Words[9]:='з';
Words[10]:='и';
Words[11]:='й';
Words[12]:='к';
Words[13]:='л';
Words[14]:='м';
Words[15]:='н';
Words[16]:='о';
Words[17]:='п';
Words[18]:='р';
Words[19]:='с';
Words[20]:='т';
Words[21]:='у';
Words[22]:='ф';
Words[23]:='х';
Words[24]:='ц';
Words[25]:='ч';
Words[26]:='ш';
Words[27]:='ы';
Words[28]:='ъ';
Words[29]:='ь';
Words[30]:='э';
Words[31]:='ю';
Words[32]:='я';
Потом кидаешь на форму два Edit'а. В Edit1 ты будешь вводить длину слова, а в Edit2 будет выводится полученное слово.
Теперь, например, на событие OnClick у кнопки пишешь простенький код:
Код:
Edit2.Clear;
Randomize;
for i:=0 to StrToInt(Edit1.Text)-1 do
Edit2.Text:=Edit2.Text+Words[Random(32)];
__________________

Ответить с цитированием
  #8  
Старый 30.05.2008, 17:45
Sanek_ntsk Sanek_ntsk вне форума
Новичок
 
Регистрация: 02.09.2007
Сообщения: 55
Репутация: 10
По умолчанию

Эта длина будет указываться в edit1. ну дай код с 6ю символами
Ответить с цитированием
  #9  
Старый 30.05.2008, 17:48
Sanek_ntsk Sanek_ntsk вне форума
Новичок
 
Регистрация: 02.09.2007
Сообщения: 55
Репутация: 10
По умолчанию

Цитата:
Сообщение от Oleg
Какой должна быть длина ?
Я могу написать тебе алгоритм, но только зная фиксированную длину символов, а не постоянно разную. Сколько нужно ?
Эта длина будет указываться в edit1. ну дай код с 6ю символами
Ответить с цитированием
  #10  
Старый 30.05.2008, 18:11
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Восклицание Вот алгоритм на 4 символа

Не надейтесь на красоту, т.к. алгоритм этот я делал для интереса в одной игрушке(на скриптах писал), а потом попробовал на Delphi проверить какая будет разница в скорости...
Алгоритм этот последовательно перебирает все возможные варианты, т.е. вот так примерно:
Код:
aaaa
aaab
aaac
.....
aaaZ
aaba
Вложения
Тип файла: rar Algoritm.rar (7.9 Кбайт, 34 просмотров)
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей
Ответить с цитированием
  #11  
Старый 30.05.2008, 19:59
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

А чем мой код не подходит?
__________________

Ответить с цитированием
  #12  
Старый 30.05.2008, 20:03
Sanek_ntsk Sanek_ntsk вне форума
Новичок
 
Регистрация: 02.09.2007
Сообщения: 55
Репутация: 10
По умолчанию

объясню хорошо: у меня на форме edit1,edit2,button1,listbox1. в edit1 должно быть кол-во символов в получившихся словах. в edit2 - символы которые будут в слове. при нажатии на кнопку1 создаются слова и добавляются в listbox1. надеюсь у меня получилось объяснить
Ответить с цитированием
  #13  
Старый 30.05.2008, 20:26
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Стрелка Всё ясно))

Цитата:
Сообщение от Sanek_ntsk
объясню хорошо: у меня на форме edit1,edit2,button1,listbox1. в edit1 должно быть кол-во символов в получившихся словах. в edit2 - символы которые будут в слове. при нажатии на кнопку1 создаются слова и добавляются в listbox1. надеюсь у меня получилось объяснить
Всё понятно, вот только у меня нету времени, чтобы это сделать, а так тут ничего особенно сложного, особенно, если использовать способ "Winny"...
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей
Ответить с цитированием
  #14  
Старый 30.05.2008, 21:31
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

Вот исходник не парьтесь
Вложения
Тип файла: rar CreateWords.rar (7.6 Кбайт, 25 просмотров)
__________________

Ответить с цитированием
  #15  
Старый 30.05.2008, 23:12
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Winny, причем здесь рандом и "всевозможные" варианты слов? Если я правильно понял автора, ему нужно получить список слов, которые можно составить из заданных символов. Тут подойдет то, что написал Олег .
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:58.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025