|
|
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
А словарь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2009, 15:04 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
Например, такой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 00:40 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
А у меня уже получилось ! Результатом доволен ! Ну что, тогда пока свой вариант не засвечиваю... ждём решения от кого-то ещё, а потом сравним ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 14:10 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
Ладно, выкладываю свой вариант. Кому понравится - можете написать сюда пару реплик Скачать файл Единственное, что неудобно - сложно подключать новый словарь либо добавлять слова в словарь. Надо будет подумать над этим как-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2009, 17:56 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
Хорошо получилось :)... Даже подсвечивается расположение... Теперь первое место на mail.ru ? ... Какая логика решения была ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2009, 10:57 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
Захотелось сделать более-менне полноценную версию с обновлением словаря. Работу следует начать с листа "Новый словарь". Кликаем в поле "Сkick me ..." и выбираем файл словаря, который может быть либо текстовый, либо экселевский. Затем нажимаем кнопку "Обновить словарь". Процесс обновления контролировать в статус-баре. После обновления сохраните файл, дабы не проделывать эту процедуру при каждом открытии программы. Теперь программа готова к работе. После некоторых оптимизаций удалось в несколько раз увеличить скорость работы программы. Теперь на моём компьютере очень редко, когда программа "думает" более 1 секунды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2009, 17:35 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
Словарь (ч.1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2009, 17:38 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
Словарь (ч.2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2009, 17:39 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
mХорошо получилось :)... Даже подсвечивается расположение... Теперь первое место на mail.ru ? Ага, вот сегодня, наконец, закончил то, что хотел... и оптимизацию, и словарь... Прихожу на работу, а нам позакрывали порты и теперь игры на меил.ру не идут ! И произошло это именно сегодня! Так что, уже не получится быть впереди планеты всей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2009, 17:50 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
A-Nik, вот хотел полюбопытствовать, так на Dim fd As FileDialog ругается... (сразу при загрузке словаря). Не могли бы Вы дать код по этому типу, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2009, 21:57 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
Даже не знаю, что Вам посоветовать! Код работы с FileDialog взял со справки. Нажмите на этом слове Ф1 и почитайте, может что-то найдёте... Но у меня на работе, дома, у знакомых эта версия пошла без проблем. Какая у вас версия офиса ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 00:17 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
Hugo121на Dim fd As FileDialog ругается.должна быть подключена библиотека Microsoft Office 11.0 Object Library (для 2003-го) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 01:27 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
Я по старинке, всюду на 2000 сижу - дома русский, на работе английский... Наверное пора хоть дома переходить, но русского посвежее нет... Так что мне похоже не запустить - нет такой библиотеки, только 9.0. Но всё равно спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 09:09 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
"Краткое" описание работы программы. Основная сложность задачи заключается в том, чтобы добиться максимальной скорости работы программы. Быстродействие для этой задачи определяется двумя моментами: количеством перебираемых вариантов и размером словаря. Размер словаря можно сократить, если разложить его на двумерный массив, где в первом столбце будут идти слова из 2х букв, во втором – из 3х и т.д. до определённого предела (скажем, делать это до 14 символов не имеет смысла, поскольку таких слов оч. мало.). До скольких букв раскладывать так словарь определяется ячейкой [SymbNumb]. Даже 10 букв – это много для данной задачи. Слова, длиннее 8 символов мне ещё ни разу не попадались во время игры. Кроме того, для каждого такого столбца можно построить таблицу индексов по двум первым буквам слова, в которой будет храниться смещение до слов, начинающихся на эти две первые буквы и перебирать уже не во всём столбце, а только там, где лежат слова, начинающиеся на эти 2 первых символа. при чём, доступ к индексной таблице осуществляется не поиском первых двух символов в таблице, а вычислением смещения математическим путём: напр. если нужно найти слова, начинающиеся на "ба" (балда), достаточно обратиться к ячейке со смещением (Asc("б") - 224) * 32 + Asc("а") – 223 и прочитать там число, которое будет являться смещением в словаре до слов, начинающихся на "ба". Словарь просматривать только до строки, где начинаются слова на "бб". От буквы "ё" пришлось избавиться путём замены "ё" на "е", поскольку её код лежит совсем в другом диапазоне. Количество перебираемых вариантов можно значительно сократить, если не перебирать слова, которые начинаются на несуществующие начальные комбинации букв. Т.е. при каждом добавлении очередной буквы во время перебора производится проверка есть ли в словаре слова, начинающиеся на данную комбинацию букв. Для этого словарь дополняется не только готовыми словами, а и всеми словами, начинающимися на заданную последовательность. Например, в 4м столбце (для слов из 5 букв) имеются такие слова: балбе, балда, балер, балет, балка, балко и т.д. Для тех слов, которые состоят всего из 5, рядом в столбце будет стоять "1". Если это только начальные символы – единицы не будет. Т.о., если в соответствующем столбце не найдётся слов, начинающихся на заданные нач. буквы, развитие такого направления не осуществляется и эта буква отбрасывается. Если же во время просмотра столбца (определённого его диапазона) в смежных столбцах находились единицы, то такие слова сразу же записывались в массив, как готовые варианты слов для последующего вывода на лист. Если кому что непонятно со словарём, то достаточно просто в пошаговом режиме пройтись по процедуре обработчика события кнопки "Обновить словарь". Добавлять новые слова в словарь оч. просто – достаточно просто дописать их в самый низ словаря (столбец "В" лист "Новый словарь") и заново перестроить словарь кнопкой "Обновить словарь". Если у кого возникли ещё какие-либо вопросы – с удовольствием отвечу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 14:08 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
A-NikПрихожу на работу, а нам позакрывали порты и теперь игры на меил.ру не идут ! Ну так Вы из дома... . Как там в Житомире ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 14:17 |
|
||
|
Задачи со звездочкой * (только для настоящих профи)-2
|
|||
|---|---|---|---|
|
#18+
mНу так Вы из дома... . Как там в Житомире ? А мне, чем самому играть в эту игру, более интересно сделать подобную программку и наблюдать, как мои коллеги и друзья чувствуют себя непобедимыми, обыгрывая всех и вся! , получая от этого удовольствие и приговаривая: "мля...я с твоей прогой реальный ГЕНИЙ!!!!!!!!!!!!!!!" (цитата из аськи) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 14:35 |
|
||
|
|

start [/forum/topic.php?fid=61&gotonew=1&tid=2178833]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
182ms |
get topic data: |
8ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 515ms |

| 0 / 0 |
