![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Участник клуба
Регистрация: 29.12.2008
Сообщений: 1,598
|
![]()
хотелось бы выслушать мнения и замечания по следующей программе! В архиве в excel файле есть примеры данных для расчёта.
Последний раз редактировалось С.М.С; 23.04.2009 в 04:15. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 29.12.2008
Сообщений: 1,598
|
![]()
И как можно убрать мерцание форм при открытии? программа была написана в VB6.
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 29.12.2008
Сообщений: 1,598
|
![]()
дошло, сначало надо загрузить, а затем уже отображать форму.
|
![]() |
![]() |
![]() |
#4 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]()
Ну ничего так.. Понравилась. Считает немного медленно, но не придираюсь ) Может, из-за особенностей алгоритма.
Как-то не понял, что это за "логика I и II порядка". Хотя подозреваю, что это разные алгоритмы для поиска. Хорошо бы сделать запрет на ввод в поле более одной цифры.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 29.12.2008
Сообщений: 1,598
|
![]()
Все верно, логика I и II порядка - это различные виды алгоритмов, об этом более подробно написанов в разделе "Справка".
Спасибо за замечание (Хорошо бы сделать запрет на ввод в поле более одной цифры.), учту! В архиве приведены примеры доступные для вычисления по имеющимяся алгоритмам их расчёт занимает в среднем 10 минут. Попадались задачи не под силу (пока) этой программе и тогда просчёт занимает более 30 минут, после чего выводится сообщение о невозможности расчёта. В этом случае можно попробовать самому рассчитать, а для облегчения задачи воспользоваться опцией -логика I порядка. |
![]() |
![]() |
![]() |
#6 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Работает медленно, интерфейс ужасный
![]()
пыщь
|
![]() |
![]() |
![]() |
#7 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
![]()
Ошибку нашел - при полностью пустоп поле если нажать "решить судоку", то она намертво зависает.
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 29.12.2008
Сообщений: 1,598
|
![]()
JTG<Работает медленно, интерфейс ужасный >
я собственно и обратился сюда, чтобы узнать ((что именно)) не нравится в интерфейсе и работе с программой. ROD<Ошибку нашел - при полностью пустоп поле если нажать "решить судоку", то она намертво зависает. > Это не ошибка! в программе два метода, расчёта: - программа находит и заполняет ячейки которые могут иметь одно единственное значение. - программа находит и заполняет ячейки имеющие два возможных значения т.е. в ячейку подходят два числа. В этом случае в ячейку записывается первое значение и расчет ведётся по первому методу, если просчёт не привел к полному решению, либо привёл к появлению ошибки, то происходит сброс значений и переход к следующему числу. Так вот если Вы ни ввели ни одного числа, либо недостаточное количество для полного расчета, то программа выдаст уведомление о невозможности решения, но это будет минут через 40 после запуска, после проверки всех возможных и доступных вариантов. В этой ситуации придётся поработать немного самому. мне ещё не встричались не решаемые задачи. попытаюсь рассказать подробнее о методе решения в ситуации если Вы запустили расчёт и получили уведомление о невозможности расчета, а такое сообщение Вы получите обязательно, если программе не хватает "мозгов". -переходите на ручной режим управления - очищаете рабочее поле, если ячейки выделены синим цветом, нажимаеете "снять блокировку", "очистить" - заполняете рабочее поле имеющимися значениями - выбираете "логика I порядка" в этом случае программа будет заполнять ячейки имеющие одно единственное значение на данный момент расчета(это намного быстрее, того если бы Вы сами перебирали и запоминали огромное количество вариатнов) - нажимаете "решить - после заполнения возможных ячеек, т.е пока были ячейки в которые можно было вписать одно единственное значение. - жмете "блокировка" тем самым не позволяете изменять значения выделенные синим цветом - это будит удобно в дальнейшем - Пока Сами, определяете возможные числа в пустой ячейки и записываете в неё число из возможного набора - жмете "решить Если во время расчета с учётом введённого числа появится ошибка, это 100% что введённое число ошибочно, об этом вы будите уведомлены и всё поле будет очищено, кроме выделенных синим цветом. далее вписываете следующее число и повторяете рассчёт. Но, может быть ситуация, что с несколькими по очередно введёнными числами рассчёт производится до некотрого состояния. В этом случаее решать Вам, лично я беру другую ячейку. |
![]() |
![]() |
![]() |
#9 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Ну по поводу интерфейса - зачем создавать окно в окне? Вместо того, чтоб закрашивать квадрат красным при вводе 2 одинаковых цифр в ряд, лучше просто не давать пользователю это сделать (и вообще меньше движений мышь-клавиатура, сделать возможным ввод только мышью: кликнул по ячейке - вылезла менюшка с разрешёнными цифрами). Всякие разноцветные фоны тоже далеко не всем понравятся.
А быстродействие - ну что делать, оптимизируйте ![]() Ну и ещё смотря для кого программа. Если это курсовая и т.п., то и так сойдёт ![]()
пыщь
|
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 29.12.2008
Сообщений: 1,598
|
![]()
у меня таких курсовых нет, я судовой электромеханик, программа - зарядка для мозгов. Оптимизировать код можно, в будущем займусь. А вот выделение ячеек другим цветом программно необходимо, так было проще, т.к свойство было Enabled задействовано и нужно было что-то ещё параллельно. по поводу менюшки согласен, вот сейчас и думаю как это сделать в VB/
Спасибо за замечания, со всем согласен, переделаю. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм решения судоку | Alistan | Общие вопросы C/C++ | 5 | 27.04.2011 16:00 |
Логика для Кроссвордов Судоку. | С.М.С | Свободное общение | 7 | 02.04.2009 16:07 |
как удалить анти вирус( касперский 2006)если она не работает и ее не возможно удалить | Alar | Общие вопросы Delphi | 0 | 29.10.2006 21:36 |