Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool DataDraft()
- {
- int[] check = FindData();
- if (check[0] != -1 && check[1] != -1)
- {
- int row = check[0];
- int col = check[1];
- int num = grid[row, col];
- {
- if (isNoSafe(row, col, num))
- {
- MessageBox.Show("Please change number!");
- }
- }
- }
- else
- {
- return true;
- }
- return false;
- }
- int[] FindData()
- {
- int[] result = new int[2];
- for (int row = 0; row < N; row++)
- {
- for (int col = 0; col < N; col++)
- {
- if (grid[row, col] != 0)
- {
- result[0] = row;
- result[1] = col;
- return result;
- }
- }
- }
- result[0] = -1;
- result[1] = -1;
- return result;
- }
- bool isNoSafe(int row, int col, int num)
- {
- return CheckInRow(row, num) || CheckInCol(col, num) || CheckInBox(row, col, num);
- }
- bool CheckInRow(int row, int num)
- {
- for (int col = 0; col < N; col++)
- {
- if (grid[row, col] == num)
- {
- return true;
- }
- }
- return false;
- }
- bool CheckInCol(int col, int num)
- {
- for (int row = 0; row < N; row++)
- {
- if (grid[row, col] == num)
- {
- return true;
- }
- }
- return false;
- }
- bool CheckInBox(int row, int col, int num)
- {
- row = row - (row % 3);
- col = col - (col % 3);
- for (int r = 0; r < 3; r++)
- {
- for (int c = 0; c < 3; c++)
- {
- if (grid[r + row, c + col] == num)
- {
- return true;
- }
- }
- }
- return false;
- }
- private void button4_Click(object sender, EventArgs e)
- {
- DataDraft();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement