Код судоку с 3d-массивом .
Я хочу сделать программу, которая будет случайным образом генерировать доску судоку для игры.( Для тех, кто не знаком с игрой, вам дается игровая доска 9x9 с в основном пустыми местами и некоторыми предварительно заполненными числами.) чтобы завершить ее, вы должны заполнить пустые квадраты так, чтобы в каждой строке, столбце и квадрате 3x3 было 1-9, но только один раз.
программа, которая играет и
решает хорошо известную игру судоку. По сути, программа будет получать данные
для таблицы судоку (с перенаправлением файла из текстового файла) он будет заполнять ее
стол и представить его.
Завершение таблицы основано на правиле игры, что таблица
Судоку 9 х 9 должно включать в себя в каждой строке, в каждом столбце и в
каждый из его 9 внутренних сегментов 3 х 3
Элементы импортируются в программу из текстового файла внутри таблицы
двумерный 9 x 9
каждый открытый (доступный для импорта) слот представлен 0
и каждая закрытая коробка (недоступная для модификации пользователем) с одним
однозначное число от 1 до 9.
Что я уже пробовал:
В настоящее время я представляю себе это как использование 2d-массива. Я использую цикл for внутри цикла for для его заполнения, следя за тем, чтобы число, входящее в квадрат, никогда не было тем, которое уже использовалось в той же строке или столбце.
кроме того, проблема, с которой я сталкиваюсь, заключается в том, как проверить, используется ли это число уже в части сетки 3x3. Я думал об использовании 3d-массива, и третье измерение-это то, где хранятся данные 3x3, но я не знаю простого способа решить, какой массив проверить для текущего квадрата.
Я также не знаю наверняка, будет ли случайная генерация плиток таким образом, как я, всегда производить полную доску. Я беспокоюсь, что он может добраться до одной из последних нескольких плиток и обнаружить, что ни одно число от 1 до 9 не поместится в квадрат, потому что оно уже используется. Я не знаю, как проверить, есть ли такая возможность.
в основном это код с 3d массивом без объекта только с циклами