- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须创建一个程序,将数独的 9 行显示为 9 个 9 位数字,然后提示用户对数独执行 6 种操作之一。然后我们必须在用户每次执行操作时输出数独。这是应该如何进行的示例运行:
Welcome to Sudoku Permuter.
C C C C C C C C C
1 2 3 4 5 6 7 8 9
R1 0 8 0 4 0 2 0 6 0
R2 0 3 4 0 0 0 9 1 0
R3 9 6 0 0 0 0 0 8 4
R4 0 0 0 2 1 6 0 0 0
R5 2 0 0 0 0 9 6 0 0
R6 0 1 0 3 5 7 0 0 8
R7 8 4 0 0 0 0 0 7 5
R8 0 2 6 0 0 0 1 3 0
R9 0 9 0 7 0 1 0 4 0
(0 denotes a blank)
Enter 1 to swap two rows in a panel
Enter 2 to swap two columns in a panel
Enter 3 to swap two row panels
Enter 4 to swap two column panels
Enter 5 to swap two numbers
Enter 0 to end:
假设用户输入 3(交换两行面板)。这会出现:
Enter row panels (1-3) to swap: 3 1
它将交换行面板 1 和 3,这将是输出:
C C C C C C C C C
1 2 3 4 5 6 7 8 9
R1 8 4 0 0 0 0 0 7 5
R2 0 2 6 0 0 0 1 3 0
R3 0 9 0 7 0 1 0 4 0
R4 0 0 0 2 1 6 0 0 0
R5 2 0 0 0 0 9 6 0 0
R6 0 1 0 3 5 7 0 0 8
R7 0 8 0 4 0 2 0 6 0
R8 0 3 4 0 0 0 9 1 0
R9 9 6 0 0 0 0 0 8 4
Rows 1-3 have been switched with rows 7-9.
假设用户输入 5。出现的结果是:
Enter two numbers: 2 8
再次输出原来的数独,只是 2 和 8 完全互换。
C C C C C C C C C
1 2 3 4 5 6 7 8 9
R1 0 2 0 4 0 8 0 6 0
R2 0 3 4 0 0 0 9 1 0
R3 9 6 0 0 0 0 0 2 4
R4 0 0 0 8 1 6 0 0 0
R5 8 0 0 0 0 9 6 0 0
R6 0 1 0 3 5 7 0 0 2
R7 2 4 0 0 0 0 0 7 5
R8 0 8 6 0 0 0 1 3 0
R9 0 9 0 7 0 1 0 4 0
如果用户输入 1,则会出现一些内容
Enter two rows (1-9) to switch:
无论用户输入哪一行,这两行都会被交换,并且数独将再次被输出。如果用户输入 2,情况会类似,只不过 2 列会被切换。同样,如果用户输入4,则两个列面板将被切换。
我们应该使用这样的二维数组:
int [] [] sudoku = new int[10] [10]
我不知道该怎么做。我整个学期都在挣扎,这是我的第一堂编程课。我根本不理解数组,而且我不明白我们应该如何显示数独。这个问题不在我们的书中,所以我也没有什么可回顾的。我真的需要通过这门课。如果有人可以帮助我,我真的很感激。尽量让它易于理解,有很多东西我还没有学会如何做(例如:郑重声明,我不知道 parseInt 是什么)。我尝试过读这本书(好几次)。它对一些人有帮助,但这个计划将是不可能的。非常感谢您的帮助。
最佳答案
例如,下面的代码块仅打印出数组的原始内容。这段代码有意义吗?
int [] [] sudoku = new int[10] [10];
// loop through all of the rows
for (int row = 0; row < 10; row++) {
// loop through all columns for each row
for (int column = 0; column < 10; column++) {
// print out the sudoku value at that row and column
System.out.print(sudoku[row] [column] + " ");
}
// at the end of the row, print a blank line to start the next row
System.out.println();
}
以下是如何对示例板进行硬编码以使用它:
int [] [] sudoku = new int [] [] {
{ 0, 8, 0, 4, 0, 2, 0, 6, 0 },
{ 0, 3, 4, 0, 0, 0, 9, 1, 0 },
etc.
}
这是一些用于交换两行的伪代码。
Get first row # from user
Get second row # from user
Loop through each column in the board
Swap(cell at first row #, current column, cell at second row #, current column)
End Loop
交换基本上需要一个临时变量来在交换时保存其中一个值:
Swap(a, b)
Store a into Temp
Store b into a
Store Temp into b
关于java - 帮助使用二维数组的 Java Sudoku Permuter 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4207748/
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 6年前关闭。 Improve this questi
是否有算法或方法可以获得数独游戏的初始状态数独谜题。最好具有不同难度级别的能力? 最佳答案 基本上有两种方法。两者都需要 2 solvers ,一个类人求解器,它使用人类可执行的策略和回溯求解器。 使
我正在尝试准备数独项目。我现在有行和列控件。 如果我创建数组,则9 * 9程序在运行时崩溃,并且窗体窗口冻结。我通过单击“停止调试”按钮来停止它。但它与一小部分阵列完美配合。例如3 * 3。如果我创建
我仍在研究我的数独解算器,但又一次遇到了一些麻烦。我已经让数独解算器开始工作,但是每当我尝试解决一个真正“困难”的数独板时,我的解算器都会告诉我没有可能的解决方案,因为堆栈溢出错误。是的,我知道这些董
我正在尝试解决数独作为家庭作业的约束满足问题。我已经为特定行和列中的所有元素构造了不同的约束。我正在尝试为子区域中的元素构造不同的约束,但我遇到了一些麻烦。 我当前算法背后的总体思路是将子区域(例如
我对以下代码片段有疑问:它是一个数独求解器,通过填充空单元格来解决数独难题。我无法真正理解求解器方法背后的逻辑。为什么它在尝试 k=1-9 后返回 false 并在遍历所有单元格后返回 true 。我
【LeetCode】36. Valid Sudoku 解题报告(Python) 题目地址:https://leetcode.com/problems/valid-sudoku/description
是否有任何算法可以解决任何传统的数独难题,而无需猜测? 这里的 Guessing 是指尝试一个候选人,看看它走多远,如果发现与猜测矛盾,则回溯到猜测步骤并尝试另一个候选人;当所有候选人都用尽但没有成功
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 12 个月前关闭。 Improve
我用c语言做了一个数独解算器,我的递归函数只适用于第一行而不是停止。它查找第一个值为 0 的元素并填充它,然后查找下一个值,并用另一个解决方案填充它。在它解决第一行后停止,我将如何启用 canSolv
我正在编写一个数独游戏,每个单元格由一个 JTextField 表示,总共有 81 个 JTextField 对象。这种安排让我想知道如何有效地清除拼图。 现在我有这个: void clear() {
我正在开发一个 Java 程序,用于检查数独谜题是否已解决。我已经完成了水平和垂直数字检查部分。但是当尝试检查方 block 时,我无能为力。这是我的检查系统的工作原理。 这就是我想做的。希望有人提供
我必须创建一个程序,将数独的 9 行显示为 9 个 9 位数字,然后提示用户对数独执行 6 种操作之一。然后我们必须在用户每次执行操作时输出数独。这是应该如何进行的示例运行: Welcome to S
所以我更新了我的代码,但我仍然对如何检查已完成的数独板中的 3x3 block 以查看它是否没有任何重复数字感到困惑。这是我更新的方法。 static boolean isBlock1Valid(in
您好,我正在开发数独检查器,它可以验证已完成的板的解决方案是否正确。我目前对如何在 block 内进行检查感到困惑。现在我有一个 boolean 值如下我正在检查左上角的 block (Block1)
http://home.earthlink.net/~benfranq/Sudoku.html 也许有人可以告诉我为什么它在 Internet Explorer 中不起作用 在其他浏览器中,它似乎工作
锁定。这个问题及其答案是 locked 因为这个问题是题外话但具有历史意义。它目前不接受新的答案或互动。 介绍 一个有效的数独网格由数字 1 到 9 填充,在每个 9 的子 block 、行或列中没
我正在尝试用 Java 创建一个数独求解器,总的来说,我对编程和 Java 都是新手。我真的不知道如何处理这种错误。我不断收到堆栈溢出错误。 我尝试了不同的代码,但没有一个有效,但无论如何,这是我最新
我回答说我会有一个二维数组。 然后我会有3个函数 一个检查水平状态。 另一个检查垂直状态的函数 另一个检查 3*3 block 条件。 但是他不满意,有谁能很好的回答这个问题吗? 我发现这个堆栈溢出链
# include int check(int a,int b); int check1(int a,int b,int c,int d); void recursive(int x,int pos
我是一名优秀的程序员,十分优秀!