|
0 / 0 / 0
Регистрация: 18.07.2011
Сообщений: 8
|
|||||||||||||||||||||
Написать программу для составления судоку26.09.2011, 21:02. Показов 5244. Ответов 9
Метки нет (Все метки)
Доброго времени суток читателям этой темы. Возникло у меня одно затруднение, с которым самому разобраться не получается. Надо написать программу для составления судоку и последующего вывода его на экран. Собственно с этим я справился, точнее просто с вводом чисел в массив, а вот проверку условий организовать не получается. Вот точное задание:
-Как цикл двумерного массива вернуть на предыдущее действие? Например мне требуется, чтобы числа в массиве были в промежутке [1;9] ввожу их так:
пока додумался только до такого, но по-моему как то это не правильно .
-Как организовать сравнение чисел в строке/столбце/квадрате, чтобы нельзя было ввести одинаковые? Как сделать проверку в строке и столбце я примерно понял, а вот как сравнить вводимое число с теми, что уже есть в квадрате я никак не могу понять... Ну и вот код всей программы.
0
|
|||||||||||||||||||||
| 26.09.2011, 21:02 | |
|
Ответы с готовыми решениями:
9
Написать программу для судоку-цепочки(9*9) Возможно ли написать программу для решения Судоку? Написать программу для составления плана покупок |
|
542 / 447 / 162
Регистрация: 10.12.2009
Сообщений: 1,857
|
||||||
| 26.09.2011, 21:18 | ||||||
|
проверка корректного ввода такова:
Например, я ввожу число на позиции [ i0, j0 ], то мне нужно проверять квадрат с адресом верхней левой ячейки [ i0 / 3 * 3 + 1, j0 / 3 * 3 + 1 ], до [ i0 / 3 * 3 + 3, j0 / 3 * 3 + 3 ]... ( считал в уме ) И еще нужно в таком условии проверить выход за границы матрицы.
1
|
||||||
|
0 / 0 / 0
Регистрация: 18.07.2011
Сообщений: 8
|
|
| 26.09.2011, 22:03 [ТС] | |
|
А как быть с поиском одинаковых чисел?
0
|
|
|
542 / 447 / 162
Регистрация: 10.12.2009
Сообщений: 1,857
|
|
| 26.09.2011, 22:18 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 18.07.2011
Сообщений: 8
|
|
| 26.09.2011, 22:23 [ТС] | |
|
0
|
|
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
||
| 26.09.2011, 23:51 | ||
|
dwags, вы думаете это тривиальная задача? помнится я даже на литературу по судоку наталкивался в поисках алгоритмов решения, но решил это дело оставить до лучших времен.
Добавлено через 22 минуты да, забыл. суммы девяти матриц 3х3 тоже должны быть равны константе Добавлено через 31 минуту я немного тут написал лишнего, сейчас покурю и мат формулой выражу свою мысль. Добавлено через 20 минут имеем матрицу 9х9 вида: так вот для проверки необходимо чтобы так же и суммы всех элементов каждой из 9 матриц 3х3 равнялись 45.
1
|
||
|
0 / 0 / 0
Регистрация: 18.07.2011
Сообщений: 8
|
||||||
| 27.09.2011, 01:31 [ТС] | ||||||
|
alkagolik, ох блин, это надо будет сейчас разбираться, благо вся ночь впереди). Пока что я завис на уровне do/while. Как сделать, чтобы при ошибочном вводе появлялось сообщение об ошибке? Что бы я не делал, оно появляется в случае правильного ввода (однако числа вносятся в массив как положено). Подскажите, что я делаю не так?
0
|
||||||
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
||
| 27.09.2011, 02:01 | ||
|
Добавлено через 26 минут я вот вижу в задании есть только требование проверки матрицы на принадлежность sudoku, так это просто сейчас организуем. C99 поддерживается? компилятор какой?
0
|
||
|
0 / 0 / 0
Регистрация: 18.07.2011
Сообщений: 8
|
||||||||
| 27.09.2011, 02:31 [ТС] | ||||||||
зы: я тут пока что придумывал как организовать сравнение чисел, пока такое получилось
С квадратом труднее получается, тут надо как то использовать переменные, которые отвечают за положение квадрата 3х3, у меня это s и v. Вот как их использовать, я пока тоже не придумал
0
|
||||||||
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
|||||||||||||||||
| 27.09.2011, 05:02 | |||||||||||||||||
Сообщение было отмечено Памирыч как решение
Решение
код
результат работы с матрицей судоку и не судоку
Добавлено через 10 минут в принципе твоя задача выполнена, но если интересно именно решение судоку загляни сюда Добавлено через 20 минут кстати для генерации судоку достаточно массива из 9 различных элементов и "операций" сдвига в массиве элементов в такой последовательности построчно: 1. первая строка матрицы и есть массив 2. сдвиг массива на 3 элемента (допустим влево, это важно только для последующих действий) 3. сдвиг массива на 3 элемента влево 4. сдвиг массива на 1 элемент вправо 5. сдвиг массива на 3 элемента влево 6. сдвиг массива на 3 элемента влево 7. сдвиг массива на 1 элемент вправо 8. сдвиг массива на 3 элемента влево 9. сдвиг массива на 3 элемента влево достаточно сгенерировать массив последовательности 1..9 в случайном порядке
0
|
|||||||||||||||||
| 27.09.2011, 05:02 | |
|
Помогаю со студенческими работами здесь
10
Нужно написать программу для составления расписания
Написать программу составления посланий Написать программу составления списков студентов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|