Судоку является логической головоломкой, действие которой разыгрывается на сетке размером 9 х 9. Каждый квадрат содержит цифру от 1 до 9. Ноль означает пустой квадрат.

Сетка разделена на девять частей, размер каждого 3 х 3. При размещении цифры нужно учитывать определенные ограничения. Размещенная цифра не должна повторяться в следующих местах:

Форум Гоферов

Мы работаем над форумом для программистов на Golang. Очень нужны модераторы которые хотят помочь с ответами для новичков и помочь в развитии Go-сообщества.

Go на Форум

Уроки, статьи и Видео

Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.

Go в ВК Go в Telegram

  • Горизонтальный ряд размещения;
  • Вертикальный столбец размещения;
  • Часть 3 х 3 размещения.

Используйте массив с фиксированным размером (9 х 9) для хранения сетки Судоку. Если функция или метод нуждается в редактировании массива, помните, что вам нужно передать массив с указателем.

Имплементируйте метод для установки цифры на определенное местоположение. Данный метод должен возвращать ошибку, если размещение цифры нарушает правила.

Также создайте метод для очищения квадрата от цифры. Данный метод не должен придерживаться правил, так как пустыми могут быть несколько квадратов (ноль).

Головоломка Судоку начинается с определенным набором установленных цифр. Напишите функцию конструктора для подготовки Судоку, используйте композитный литерал для уточнения начальных значений. Далее дан пример:

массив судоку

Начальные цифры находятся в фиксированном месте, их нельзя переписать или очистить. Модифицируйте программу так, чтобы она могла идентифицировать, какие цифры фиксированные, а какие вписаны пользователем. Добавьте подтверждение, что возвращает ошибку при попытке установить или очистить цифру к клетку, где уже есть фиксированная цифра. Изначально цифры, что являются нулями, могут быть установлены, переписаны или очищены.

Вам не обязательно писать решение Судоку для данного упражнения, но обязательно протестируйте программу и убедитесь, что все правила соблюдаются правильно.

В конце можете сравнить свой вариант с нашим.

Понравилась статья?

Поддержи наш проект, чтобы мы могли создать больше хорошего контента!