Code :
/*************************************************************************
***
A Program For SuDoKu Puzzle Generation
Program Was Compiled With Borland TC version 3.0
and Borland C++ 5.5.1 for Win32 and gcc v 4.0.1
by Nikhil Purwant.(nikhilpurwant@yahoo.com)
date : 28/10/2005
|---|---|---|
| 4 | 2 | 1 |
|---|---|---|
| 7 | 8 | 9 | =>single 3*3 cell in the SuDoku ( containing 1-9 unique
numbers )
|---|---|---|
| 6 | 3 | 5 |
|---|---|---|
___________________
|_|_|_|_|_|_|_|_|_|
|_|1|_|_|2|_|_|3|_|
|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|
|_|4|_|_|5|_|_|6|_| => sudoku cells 1-9 each is a 3*3 subcell like
shown
above
|_|_|_|_|_|_|_|_|_| also no row or column of complete sudoku(9*9)
contain repeated
|_|_|_|_|_|_|_|_|_| elements and strictly contain element from 1to9
|_|7|_|_|8|_|_|9|_|
|_|_|_|_|_|_|_|_|_|
**************************************************************************
***/
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define LINUX //COMMENT THIS LINE IF YOU ARE PROGRAMMING IN MS WINDOWS
ENV
(TC)
#ifndef LINUX
#include<conio.h>
#endif
int check_this_in_a_col(int matrix[9][9],int col,int maxindex,int
element);
int is_this_in_3by3cell(int value,int filled[9]);
void initialise_filled_to_0(int filled[9]);
int make_a_new_cell(int matrix[9][9],int rl,int rh,int cl,int ch,int
how2check);
int find_dup(int matrix[9][9],int i,int j,int array[9]);
int check_cell(int matrix[9][9],int rl,int rh,int cl,int ch);
void actual_thing_from_matrix(int matrix[9][9],int level);
void print_it(int mat[9][9],int to_file);
void print_both(int mat[9][9],int result[9][9],int to_file);
void sudoku(int mat[9][9],int filled[9]);
int main()
{
int filled[9],matrix[9][9],what2do;
#ifndef LINUX
clrscr();
#else
printf("
No comments:
Post a Comment