C Program Sudoku
- #include <stdio.h>
- #define RED 9
- #define STUP 9
- int main()
- {
- int sudoku[RED][STUP], redovi[STUP] = {};
- int i, j, n, tempVarijabla, greska = 0, greskaRed, greskaStup;
- unsigned long temp[STUP];
- for(i = 0; i < RED; i++)
- scanf("%d", &temp[i]);
- for(i = 0, n = 0; i < RED; i++, n++)
- {
- for(j = STUP - 1; j >= 0; j--)
- {
- sudoku[i][j] = temp[n] % 10;
- temp[n] /= 10;
- }
- }
- for(i = 0, j = 0; j < STUP && i < RED; j++)
- {
- tempVarijabla = sudoku[i][j] - 1;
- redovi[tempVarijabla]++;
- if(redovi[tempVarijabla] > 1)
- {
- greska = tempVarijabla + 1;
- greskaRed = i;
- break;
- }
- if(j == STUP - 1)
- {
- for(n = 0; n < STUP; n++)
- redovi[n] = 0;
- j = 0;
- i++;
- }
- }
- for(n = 0; n < STUP; n++)
- redovi[n] = 0;
- for(i = 0, j = 0; i < RED && j < STUP; i++)
- {
- tempVarijabla = sudoku[i][j] - 1;
- redovi[tempVarijabla]++;
- if(redovi[tempVarijabla] > 1)
- {
- greska = tempVarijabla + 1;
- greskaStup = j;
- break;
- }
- if(i == RED - 1)
- {
- for(n = 0; n < RED; n++)
- redovi[n] = 0;
- i = 0;
- j++;
- }
- }
- if(greska > 0)
- {
- if(greskaRed < 3 && greskaStup < 3)
- printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 1. kvadrat.", greskaRed + 1, greskaStup + 1);
- else if(greskaRed < 3 && greskaStup < 6)
- printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 2. kvadrat.", greskaRed + 1, greskaStup + 1);
- else if(greskaRed < 3 && greskaStup < 9)
- printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 3. kvadrat.", greskaRed + 1, greskaStup + 1);
- else if((greskaRed > (3 - 1) && greskaRed < 6) && greskaStup < 3)
- printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 4. kvadrat.", greskaRed + 1, greskaStup + 1);
- else if((greskaRed > (3 - 1) && greskaRed < 6) && greskaStup < 6)
- printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 5. kvadrat.", greskaRed + 1, greskaStup + 1);
- else if((greskaRed > (3 - 1) && greskaRed < 6) && greskaStup < 9)
- printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 6. kvadrat.", greskaRed + 1, greskaStup + 1);
- else if((greskaRed > (6 - 1) && greskaRed < 9) && greskaStup < 3)
- printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 7. kvadrat.", greskaRed + 1, greskaStup + 1);
- else if((greskaRed > (6 - 1) && greskaRed < 9) && greskaStup < 6)
- printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 8. kvadrat.", greskaRed + 1, greskaStup + 1);
- else if((greskaRed > (6 - 1) && greskaRed < 9) && greskaStup < 9)
- printf("Neispravno!\nGreska u: %d. redak, %d. stupac, 9. kvadrat.", greskaRed + 1, greskaStup + 1);
- }
- else
- printf("Ispravno!");
- return 0;
- }
Learn More :
Example
- C Program String - Alphabet Count Example
- C Program Array Example: Average
- C Program Array Example: Reverse
- C Program Switch - Case Example
- C Program if - else if - else Example
- C Program Friend & Operator: Point2D Example
- C Program Friend & Operator: Vector Example
- C Program Recursion Example
- C Program Structure Example-2
- C Program Structure Example
- C Program Pointer Example
- C Program Function Example
- C Program String Example
- C Program Character Example
- C Program sizeof & memcpy Example
- C Program Array Example
- C Program Side Length Example
- C Program Pipes()
- C Program 0-1000 to Ordinary
- C Program Roboturtle
- C Program to Destroys a Mailbox
- C Program to Destroys a semaphore
- C Code for Testing the pH Meter V1.0
- APA 102c test program
- How To Retarget the C Library printf function to the UART.