Wednesday 2 March 2011

SUDOKU

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: