Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2014
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.18 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. int puzzle[9][9] = {
  6.     4,5,2, 0,9,1, 8,7,6, //0,0 -> 0,8
  7.     3,1,8, 6,0,5, 2,9,4,
  8.     6,7,0, 4,2,8, 3,1,5,
  9.    
  10.     8,3,1, 0,0,0, 7,2,9,
  11.     2,4,5, 0,0,0, 1,6,3,
  12.     9,6,7, 0,0,0, 5,4,8,
  13.    
  14.     7,9,6, 8,5,2, 4,3,1,
  15.     1,8,3, 7,4,9, 6,5,2,
  16.     5,2,4, 1,3,6, 9,8,7
  17. };
  18.  
  19. int copypuzzle[9][9];
  20.  
  21. //returns true if the number is found
  22. bool checksquare(int startx, int starty, int number)
  23. {
  24.     for(int x = startx; x < startx + 3; x++)
  25.         for(int y = starty; y < starty + 3; y++)
  26.             if(puzzle[x][y] == number)
  27.                 return true;
  28.    
  29.     return false;
  30. }
  31.  
  32. bool checkrow(int row, int number)
  33. {
  34.     for(int x = 0; x < 9; x++)
  35.         if(puzzle[row][x] == number)
  36.             return true;
  37.     return false;
  38. }
  39.  
  40. bool checkcolumn(int column, int number)
  41. {
  42.     for(int x = 0; x < 9; x++)
  43.         if(puzzle[x][column] == number)
  44.             return true;
  45.     return false;
  46. }
  47.  
  48. //returns true if the number can be placed
  49. int checkspot(int x, int y, int number)
  50. {
  51.     if((checksquare(x-(x%3), y-(y%3), number) || checkrow(x, number) || checkcolumn(y, number)) && puzzle[x][y] != number)
  52.         return false;
  53.     return true;
  54. }
  55.  
  56. int main()
  57. {
  58.     cout << checkspot(0,3,3) << " " << true <<endl;
  59.     return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement