Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- //Puzzle: http://www.puzzles.ca/sudoku_puzzles/sudoku_easy_183.html Solution: http://www.puzzles.ca/sudoku_puzzles/sudoku_easy_183_solution.html
- int main(){
- int boxStart;
- int horLineStart;
- int vertLineStart;
- int x[82];
- int numbersAvailable[10];
- int numberOfZero;
- for (int i = 1; i < 82; i++){x[i] = 0;}
- x[1] = 8;//Rad1
- x[2] = 3;
- x[7] = 9;
- x[8] = 1;
- x[10] = 5;//Rad2
- x[17] = 2;
- x[19] = 6;//Rad3
- x[20] = 2;
- x[21] = 4;
- x[22] = 3;
- x[27] = 8;
- x[28] = 9;//rad4
- x[34] = 3;
- x[35] = 5;
- x[36] = 7;
- x[39] = 1;//rad5
- x[40] = 7;
- x[42] = 5;
- x[45] = 9;
- x[53] = 8;//rad6
- x[62] = 9;//rad7
- x[64] = 2;//rad8
- x[65] = 6;
- x[68] = 3;
- x[76] = 2;//rad9
- x[77] = 5;
- x[81] = 6;
- for (int i = 1; i <= 3; i++){
- boxStart =
- numberOfZero = 0;
- for (int a = 1; a <= 9; a++){
- numbersAvailable[a] = a;
- }
- //Remove numbers in the box(3x3) from numbersAvailable
- for (int c = 0; c < 3; c++){
- for (int b = 0; b < 3; b++){
- for (int a = 1; a <= 9; a++){
- if (x[i + b + (c*9)] == a){
- numbersAvailable[a] = 0;
- }
- }
- }
- }
- //Remove numbers from horizontal line
- for (int b = 0; b < 9; b++){
- for (int a = 1; a <= 9; a++){
- if (x[i+b] == a){
- numbersAvailable[a] = 0;
- }
- }
- }
- //Remove numbers from Vertical line
- for (int b = 0; b < 9; b++){
- for (int a = 1; a <= 9; a++){
- if (x[i + (b*9)] == a){
- numbersAvailable[a] = 0;
- }
- }
- }
- /*Reads number of zeroes in numbersAvailable
- for (int a = 1; a <= 9; a++){
- if (numbersAvailable[a] = 0)
- numberOfZero++;
- }
- */
- //Puts a new number in the box.
- if (x[i] != 0 && numberOfZero == 8){
- for (int a = 1; a < 9; a++){
- if (numbersAvailable[a] != 0){
- x[i] = numbersAvailable[a];
- }
- }
- }
- if ((i-1) % 9 == 0){
- printf("\n");
- }
- //printf("%d ",x[i]);
- //Print numbersAvailable
- for (int a = 1; a <= 9; a++){
- printf("%d ", numbersAvailable[a]);
- }
- printf("\n");
- }
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement