#include<stdio.h>
#define subgrupo 3 //Valor del subgrupo
#define filas 9 //Cambiar el # de Filas
#define columnas 9 //Cambiar el # de Columnas
int analizaFilas(int[][columnas]);
int analizaColumnas(int[][columnas]);
int analizaSubgrupo(int[][columnas]);
int main (){
int x,y,z;
int matriz [filas][columnas]=
{
{9 , 6 , 4 , 2 , 3 , 7 , 8 , 5 , 1},
{8 , 1 , 7 , 4 , 5 , 6 , 2 , 3 , 9},
{5 , 2 , 3 , 1 , 8 , 9 , 7 , 4 , 6},
{6 , 4 , 2 , 3 , 9 , 1 , 5 , 8 , 7},
{7 , 9 , 5 , 8 , 6 , 2 , 3 , 1 , 4}, //Matriz 9*9
{1 , 3 , 8 , 5 , 7 , 4 , 6 , 9 , 2},
{2 , 8 , 1 , 6 , 4 , 5 , 9 , 7 , 3},
{3 , 7 , 6 , 9 , 1 , 8 , 4 , 2 , 5},
{4 , 5 , 9 , 7 , 2 , 3 , 1 , 6 , 8},
};
for(int i=0; i<filas; i++){ //Imprime Sudoku
for(int j=0; j<columnas; j++){
printf("%d", matriz[i][j]);
if(j==2||j==5)printf("|");
}
printf("\n");
if(i==2||i==5){
printf("---+---+---");
printf("\n");
}
printf("\n");
}
x=analizaFilas(matriz);
y=analizaColumnas(matriz);
if(x==0 && y==0){
printf("\n\nEl Sudoku esta correcto");
}else{
printf("\n\nEl sudoku esta Incorrecto");
}
return 0;
}
int analizaFilas(int s[][columnas]){ //Analiza las Filas
int cont=0;
for (int k=0; k<filas; k++){
for (int i=0; i<filas; i++){
for(int j=i+1; j<columnas; j++){
if (s[k][i]== s[k][j]){cont=cont+1;}
}
}
}
return cont;
}
int analizaColumnas(int s[][columnas]){ //Analiza las Columnas
int cont=0;
for(int k=0; k<filas; k++){
for(int i=0; i<filas; i++){
for(int j=k+1; j<columnas; j++){
if(s[k][i]==s[j][i]){cont=cont+1;}
}
}
}
return cont;
}
Sudoku Programacion en C
Este Programa verifica si un sudoku completo esta bien echo. Solo le falta una funcion que analize los subgrupos.
Publicado por
BlackDawn
Etiquetas:
programacion
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario
Aqui puedes publicar algun comentario, duda, sugerencia, problema, agradecimiento o lo que quieras. Ten en cuenta que el comentario será moderado antes de salir publico.