Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2015
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. bool DataDraft()
  2. {
  3. int[] check = FindData();
  4. if (check[0] != -1 && check[1] != -1)
  5. {
  6. int row = check[0];
  7. int col = check[1];
  8. int num = grid[row, col];
  9. {
  10. if (isNoSafe(row, col, num))
  11. {
  12. MessageBox.Show("Please change number!");
  13. }
  14. }
  15.  
  16. }
  17. else
  18. {
  19. return true;
  20. }
  21. return false;
  22. }
  23.  
  24. int[] FindData()
  25. {
  26. int[] result = new int[2];
  27. for (int row = 0; row < N; row++)
  28. {
  29. for (int col = 0; col < N; col++)
  30. {
  31. if (grid[row, col] != 0)
  32. {
  33. result[0] = row;
  34. result[1] = col;
  35. return result;
  36. }
  37. }
  38. }
  39.  
  40. result[0] = -1;
  41. result[1] = -1;
  42. return result;
  43. }
  44.  
  45. bool isNoSafe(int row, int col, int num)
  46. {
  47. return CheckInRow(row, num) || CheckInCol(col, num) || CheckInBox(row, col, num);
  48. }
  49.  
  50. bool CheckInRow(int row, int num)
  51. {
  52. for (int col = 0; col < N; col++)
  53. {
  54.  
  55. if (grid[row, col] == num)
  56. {
  57. return true;
  58. }
  59. }
  60. return false;
  61. }
  62.  
  63. bool CheckInCol(int col, int num)
  64. {
  65.  
  66. for (int row = 0; row < N; row++)
  67. {
  68. if (grid[row, col] == num)
  69. {
  70. return true;
  71. }
  72. }
  73. return false;
  74. }
  75.  
  76. bool CheckInBox(int row, int col, int num)
  77. {
  78. row = row - (row % 3);
  79. col = col - (col % 3);
  80.  
  81. for (int r = 0; r < 3; r++)
  82. {
  83. for (int c = 0; c < 3; c++)
  84. {
  85. if (grid[r + row, c + col] == num)
  86. {
  87. return true;
  88. }
  89. }
  90. }
  91.  
  92. return false;
  93. }
  94.  
  95. private void button4_Click(object sender, EventArgs e)
  96. {
  97. DataDraft();
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement