C Program Sudoku

C Program Sudoku


  1. #include <stdio.h>
  2.  
  3. #define RED 9
  4. #define STUP 9
  5.  
  6. int main()
  7. {
  8.     int sudoku[RED][STUP], redovi[STUP] = {};
  9.     int i, j, n, tempVarijabla, greska = 0, greskaRed, greskaStup;
  10.     unsigned long temp[STUP];
  11.  
  12.     for(= 0; i < RED; i++)
  13.         scanf("%d", &temp[i]);
  14.  
  15.     for(= 0, n = 0; i < RED; i++, n++)
  16.     {
  17.         for(= STUP - 1; j >= 0; j--)
  18.         {
  19.             sudoku[i][j] = temp[n] % 10;
  20.             temp[n] /= 10;
  21.         }
  22.     }
  23.  
  24.     for(= 0, j = 0; j < STUP && i < RED; j++)
  25.     {
  26.         tempVarijabla = sudoku[i][j] - 1;
  27.         redovi[tempVarijabla]++;
  28.  
  29.             if(redovi[tempVarijabla] > 1)
  30.             {
  31.                 greska = tempVarijabla + 1;
  32.                 greskaRed = i;
  33.                 break;
  34.             }
  35.  
  36.             if(== STUP - 1)
  37.             {
  38.                 for(= 0; n < STUP; n++)
  39.                     redovi[n] = 0;
  40.  
  41.                 j = 0;
  42.                 i++;
  43.             }
  44.  
  45.     }
  46.  
  47.     for(= 0; n < STUP; n++)
  48.         redovi[n] = 0;
  49.  
  50.     for(= 0, j = 0; i < RED && j < STUP; i++)
  51.     {
  52.         tempVarijabla = sudoku[i][j] - 1;
  53.         redovi[tempVarijabla]++;
  54.  
  55.             if(redovi[tempVarijabla] > 1)
  56.             {
  57.                 greska = tempVarijabla + 1;
  58.                 greskaStup = j;
  59.                 break;
  60.             }
  61.  
  62.             if(== RED - 1)
  63.             {
  64.                 for(= 0; n < RED; n++)
  65.                     redovi[n] = 0;
  66.  
  67.                 i = 0;
  68.                 j++;
  69.             }
  70.     }
  71.  
  72.     if(greska > 0)
  73.     {
  74.         if(greskaRed < 3 && greskaStup < 3)
  75.             printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 1. kvadrat.", greskaRed + 1, greskaStup + 1);
  76.         else if(greskaRed < 3 && greskaStup < 6)
  77.             printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 2. kvadrat.", greskaRed + 1, greskaStup + 1);
  78.         else if(greskaRed < 3 && greskaStup < 9)
  79.             printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 3. kvadrat.", greskaRed + 1, greskaStup + 1);
  80.         else if((greskaRed > (3 - 1) && greskaRed < 6) && greskaStup < 3)
  81.             printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 4. kvadrat.", greskaRed + 1, greskaStup + 1);
  82.         else if((greskaRed > (3 - 1) && greskaRed < 6) && greskaStup < 6)
  83.             printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 5. kvadrat.", greskaRed + 1, greskaStup + 1);
  84.         else if((greskaRed > (3 - 1) && greskaRed < 6) && greskaStup < 9)
  85.             printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 6. kvadrat.", greskaRed + 1, greskaStup + 1);
  86.         else if((greskaRed > (6 - 1) && greskaRed < 9) && greskaStup < 3)
  87.             printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 7. kvadrat.", greskaRed + 1, greskaStup + 1);
  88.         else if((greskaRed > (6 - 1) && greskaRed < 9) && greskaStup < 6)
  89.             printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 8. kvadrat.", greskaRed + 1, greskaStup + 1);
  90.         else if((greskaRed > (6 - 1) && greskaRed < 9) && greskaStup < 9)
  91.             printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 9. kvadrat.", greskaRed + 1, greskaStup + 1);
  92.     }
  93.     else
  94.         printf("Ispravno!");
  95.  
  96. return 0;
  97. }


Learn More :