@MassakiMsk
#include <stdio.h>
#include <stdlib.h>
int resolverSudoku(int, int);
void imprimirSudoku (void);
int mesmacoluna (int, int, int), mesmalinha (int, int, int), mesmoquadro (int, int, int);
int sudoku [9][9]= {4,0,0,8,0,0,0,0,1,
0,2,0,0,5,6,4,0,0,
1,8,0,0,0,7,0,2,3,
2,9,0,0,4,8,0,6,0,
0,0,4,0,0,1,9,0,0,
0,7,0,0,0,2,0,8,4,
6,3,0,2,0,0,0,1,5,
0,0,2,7,3,0,0,4,0,
7,0,0,0,0,5,0,0,9};
int main(){
int x=0, y=0;
imprimirSudoku();
resolverSudoku(x,y);
imprimirsudoku();
return 0;
}
void imprimirSudoku(){
for (int i=0; i<9; i++){
for (int j=0; j<9; j++){
printf("%d", sudoku[j]);
}
printf("\n");
}
printf("\n\n");
}
int resolverSudoku(int x, int y){
int num=1;
int tx=0;
int ty=0;
if(sudoku[x][y]!= 0){
if (x == 8 && y == 8){
return 1;
}
if (x<8){
x++;
} else{
if ( y < 8{
x=0;
y++;
}
}
if (sudoku[x][y] == 0){
while (num < 10){
if (!mesmalinha (x,y,num) && !mesmoquadro(x,y,num) && !mesmacoluna(x,y,num)){
sudoku[x][y] = num;
if (x==8 && y==8){
return 1;
}
if (x < 8){
tx= x + 1;
}else{
if (y<8){
tx=0;
ty= y+1
}
}
if (resolverSudoku(tx,ty)){
return 1;
}
}
num++;
}
sudoku[x][y] = 0
return 0;
}
}
int mesmacoluna(int x, int)
adicionado 27 minutos depois
@MassakiMsk , @TYSQUARE89
ESSE QUE EU QUERO QUE ME AJUDEM!
O QUE FAÇO DEPOIS DISSO?
#include<stdio.h>
#include<stdlib.h>
#define LINHAS 9
#define COLUNAS 9
int tabuleiro[LINHAS][COLUNAS]=
{
{4, 0, 0, 8, 0, 0, 0, 0, 1},
{0, 2, 3, 0, 5, 6, 4, 0, 0},
{1, 8, 0, 0, 0, 7, 0, 2, 3},
{2, 9, 0, 0, 4, 8, 0, 6, 0},
{0, 0, 4, 0, 0, 1, 9, 0, 0},
{0, 7, 0, 0, 0, 2, 0, 8, 4},
{6, 3, 0, 2, 0, 0, 0, 1, 5},
{0, 0, 2, 7, 3, 0, 0, 4, 0},
{7, 0, 0, 0, 0, 5, 0, 0, 9}
};
int jLinha, jColuna, jValor;
/*FUNÇÃO PRINCIPAL
-------------------------------*/
void main(){
imprimirTabuleiro();
jogada();
tabuleiro[jLinha][jColuna] = jValor;
imprimirTabuleiro();
}
/*IMPRIME A MATRIZ
-------------------------------*/
void imprimirTabuleiro(){
int i, j;
for(i = 0; i < LINHAS; i++ ){
for(j = 0; j < COLUNAS; j++){
printf("%d \t", tabuleiro[j]);
}
printf("\n");
}
}
/*RECEBE A JOGADA
-------------------------------*/
void jogada (){
printf("Informe a linha, coluna e valor: ");
scanf("%d%d%d", &jLinha, &jColuna, &jValor);
}