Advertisement
pablo7890

sudoku checker

Mar 1st, 2013
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.38 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3. using namespace std;
  4. void wczytajSudoku(int grid[] [9]);
  5. bool sprawdzSudoku(int grid[] [9]);
  6. int main()
  7. {
  8.     int sudoku[9][9];
  9.    
  10.     wczytajSudoku(sudoku);
  11.    
  12.     if (sprawdzSudoku(sudoku)==true){
  13.         cout << "TAK" << endl;
  14.     }
  15.     else
  16.     {
  17.         cout << "NIE" << endl;
  18.     }
  19.     return 0;
  20. }
  21. void wczytajSudoku(int sudoku[][9])
  22. {
  23.         for(int i=0; i<9; i++) {
  24.             for(int j=0; j<9; j++){
  25.                cin>>sudoku[i][j];        
  26.            }
  27.         }
  28. }
  29. bool sprawdzSudoku(int sudoku[][9])
  30. {
  31.     int i,j;
  32.     bool status;
  33.     status = true;
  34.    
  35.     for (int kol = 0; kol < 9; kol++)
  36.     {
  37.         if (kol !=j && sudoku[i][kol] == sudoku[i][j])
  38.         {
  39.             status = false;
  40.         }
  41.     }
  42.     for (int wiersz = 0; wiersz < 9; wiersz++)
  43.     {
  44.         if (wiersz != i && sudoku[wiersz][j] == sudoku[i][j])
  45.         {
  46.             status = false;
  47.         }
  48.     }
  49.     for (int wiersz = (i / 3) * 3; wiersz < (i / 3) * 3 + 3; wiersz++)
  50.     {
  51.         for (int kl = (j / 3) * 3; kl < (j / 3) * 3 + 3; kl++)
  52.         {
  53.             if (wiersz != i && kl != j && sudoku[wiersz][kl] == sudoku[i][j])
  54.             {
  55.                 status = false;
  56.             }
  57.         }
  58.     }
  59.     for (int i = 0; i < 9; i++)
  60.     {
  61.         for (int j = 0; j < 9; j++)
  62.         {
  63.             if (sudoku[i][j] != 0)
  64.             {
  65.                 status = false;
  66.             }
  67.         }
  68.     }
  69.     for (int i = 0; i < 9; i++)
  70.     {
  71.         for (int j = 0; j < 9; j++)
  72.         {
  73.             if ((sudoku[i][j] < 0) || (sudoku[i][j] > 9))
  74.             {
  75.                 status = false;
  76.             }
  77.         }
  78.     }
  79.     return status;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement