tiko165 2 Posted November 18, 2019 Report Share Posted November 18, 2019 Boa tarde, Preciso da vossa ajuda, com este seguinte código (não feito por mim), para resolver uma matriz Sudoku e que utiliza a regra do BackTracking. Pretendo implementar uma regra de validação em diagonal (cima>baixo e baixo>cima) https://gist.github.com/bopbi/c9f94b1b981b84bcb02b Acrescentei as seguintes funções, e os seus parâmetros. Consegues perceber o porquê que desta forma não funciona. int verify_diagonal_down(int matrix[N][N], int num) { for (int row=0, col=0; row<N && col<N; row++, col++) { if(row==col && matrix[row][col] == num){ printf("ABC: [%d][%d],, %d == %d\n", row, col, matrix[row][col], num); return 1; } } return 0; } int verify_diagonal_up(int matrix[N][N], int row, int col, int num) { if(row + col == N - 1){ for (int x=N, y=0; x>=0 && y<N; x--, y++) { return 1; } return 0; } } int is_safe_num(int matrix[N][N], int row, int col, int num) { return !verify_box(matrix, row - (row % CUBE), col - (col % CUBE), num)//Valida Cubo && !verify_row(matrix, row, num)//Valida linha && !verify_col(matrix, col, num)//valida coluna && !verify_diagonal_down(matrix, num)//Valida diagonal LEFT > DOWN && !verify_diagonal_up(matrix, row, col, num)//Valida diagonal LEFT > UP ; } Obrigado Link to post Share on other sites
PsySc0rpi0n 18 Posted November 18, 2019 Report Share Posted November 18, 2019 Boas. Acho que terás que ser mais específico. Apenas apresentas um code e dizes que não funciona. Tens que dizer especificamente onde não funciona, o que esperavas que fizesse e o que está a fazer. Kurt Cobain - Grunge misses you Nissan GT-R - beast killer Link to post Share on other sites
HappyHippyHippo 1,162 Posted February 14, 2020 Report Share Posted February 14, 2020 eu costumo fazer sudoku, e não me lembro de nenhuma regra que leve a olhar para as diagonais ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now