import scala.util.Random
// To fill a 3x3 grid to be a valid Sudoku grid, you must ensure that each row,
// column, and the 3x3 grid contains the numbers 1 through 9 without repetition.
object SudokuGridGenerator {
val Size = 3
// Function to shuffle an array
def shuffleArray(arr: Array[Int]): Array[Int] = {
val shuffled = arr.clone()
Random.shuffle(shuffled.toSeq).toArray
}
// Function to fill the Sudoku grid
def fillSudokuGrid(): Array[Array[Int]] = {
val numbers = (1 to 9).toArray
// Shuffle the numbers randomly
val shuffledNumbers = shuffleArray(numbers)
// Fill the 3x3 grid row by row
val grid = Array.ofDim[Int](Size, Size)
var index = 0
for (i <- 0 until Size; j <- 0 until Size) {
grid(i)(j) = shuffledNumbers(index)
index += 1
}
grid
}
// Function to print the grid
def printGrid(grid: Array[Array[Int]]): Unit = {
grid.foreach(row => println(row.mkString(" ")))
}
def main(args: Array[String]): Unit = {
val grid = fillSudokuGrid()
println("Generated 3x3 Sudoku Grid:")
printGrid(grid)
}
}
/*
run:
Generated 3x3 Sudoku Grid:
7 9 5
3 8 2
6 4 1
*/