Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 18

Решалка судоку на Assembler

13.02.2012, 17:25. Показов 1842. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создаём папку, туда кидаем/создаём два файла.

1. Создаём текстовый файл (*.txt, * - любое название).
Code
1
2
3
4
5
6
7
8
9
1 2 . . . . . 3 .
4 5 6 . . . . 7 8
. . . 4 6 5 . . 5
3 5 . 3 4 5 . 4 .
4 . . . 4 4 . . .
. 3 4 . . . 3 . .
3 3 . . . . 4 . .
2 . . . . . 4 . .
. . . . 4 . . . .
2. Потом нужно "откомпилировать" это (в расширение *.com):
Assembler
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
 ;===============================================;
 ;           ****  Hugi Compo 25  ****           ;
 ;            Sudoku Solver - 62 bytes           ;
 ;-----------------------------------------------;
 ;         G3 / tgm80 (at) mail (dot) ru         ;
 ;       TFx / tfx (at) bitmaster (dot) it       ;
 ;     Digimind / digimind (at) aha (dot) ru     ;
 ;===============================================;
 ; Compile:
 ;       tasm -m2 entry.asm
 ;       tlink -t entry
 
  model tiny
   codeseg
   startupcode
   .486
 
  mov ah, 3fh                 ;ah = 3f -> input
   mov dx, bp                  ;bp = buffer
 InOutExit:
   int 21h                     ;input/output/exit
   xchg ax, cx                 ;cx = length
   inc bx                      ;stdout handle
 Solve:
   mov [bp+si], al             ;digit is ok
 Empty:
   dec si                      ;find empty cell
   js InOutExit                ;if not found output solution, then exit
   mov ax,4031h                ;ah = 40 -> output/inc ax
 ChkDgt:
   cmp byte ptr [bp+si], '.'   ;is empty?
   jne Empty                   ;if empty check it else continue
   mov di, cx
 Next:
   dec di                      ;find digit
   pusha
   js Solve                    ;if no more digits set and recurse
   cmp [bp+di], al             ;else search
   jne SetOF
   xchg ax, di                 ;get digit position
 Split:
   aam 19                      ;split row and column
   imul ax, 11                 ;find 3x3 group
   xchg ax, si                 ;get empty cell position
   inc bx
   jpo Split                   ;split empty cell position
   xor ax, si                  ;compare cell positions
   test ax, 0e0c0h             ;same 3x3 group?
   jle NOk
 SetOF:
   mul ah                      ;same column or same row?
 NOk:
   popa
   jo Next                     ;next position
   mov byte ptr [bp+si], '.'   ;empty cell
   cmp al, 39h                 ;no more digits?
   je NOk
   jmp ChkDgt-1
   end
3. Потом надо ввести команду:
cmd.exe /K "sudoku.com <puzzle.txt"

Вот тут, что-то у меня не получается запустить, точнее запускается, но решает он толи долго, то ли ничего.
З.Ы. код не мой, авторы:
Автор/Разработчик: G3 (tgm80@@mail.ru), TFx (tfx@@bitmaster.it), Digimind (digimind@@aha.ru)

Добавлено через 12 минут
Так, к примеру, у меня эта решалка на диске E (скинул поближе).
В командной строке выбираю диск Е, дальше sudoku.com <puzzle.txt, потом он вроде решает, но, что-то не то решает и долго...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.02.2012, 17:25
Ответы с готовыми решениями:

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

Решалка игры балда
Добрый день, я недавно начал изучать php, пришла идея создать программу, которая просчитывает ходы для игры балда...

Судоку
Здравствуйте. Нужно реализовать приложение &quot;Судоку&quot;, использую компонент StringGrid, подскажите пожалуйста в каком направление...

2
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
13.02.2012, 17:35
Как связаться с авторами, вы сами написали.
0
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 18
13.02.2012, 18:59  [ТС]
Цитата Сообщение от Goodwin98 Посмотреть сообщение
Как связаться с авторами, вы сами написали.
Не хочу их тревожить, думал может тут помогут. Ну, ладно...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.02.2012, 18:59
Помогаю со студенческими работами здесь

Судоку
Помогите написать игру судоку. я программирую в С++. Мне дали задание написать игру судоку в консольке. Только без всяких наворотов,...

Судоку
Написал Судоку по учебнику но там много ошибок многие я исправил но вот остались еще. если не сложно исправьте их и напишите там где...

Судоку
6. (6 и 7 лабораторная работа) – Судоку. (6 – заполнение массива).

Судоку
Добрый день! Очень нужна помощь! Нужен код СУДОКУ на С++, задали на курсовую, ничего не получается. В гугле искала, не нашла

Судоку си++
Подскажите пожалуйста как правильно создать таблицу 9*9 для ввода значений?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru