Pesquisar na Comunidade
Mostrando resultados para as tags ''ponteiro de ponteiro''.
Encontrado 1 registro
-
Como comparar uma determinada posição de uma matriz através de colchetes sendo que passei como ponteiro de ponteiro (int **matriz) Main: while (qtdRainhas < n) { printf("\nInsira a linha: "); scanf("%i", &ri); printf("\nInsira a coluna: "); scanf("%i", &rj); verifica = verificaConflitos(ri-1, rj-1, tabuleiro, n); printf("verificou"); if (verifica == 0) { printf("\nentrou if\n"); tabuleiro[ri][rj] = 1; printf("Inseriu rainha %i" , i); qtdRainhas++; } else printf("\nPosicao invalida, insira novamente!"); } printf("\n"); Imprimir(tabuleiro, n); .h /**Imprime todas as posições do tabuleiro*/ void Imprimir(int **tabuleiro, int n); /**VERIFICA SE É POSSÍVEL POSICIONAR A RAINHA EM matriz(ri, rj). RETORNA 1 SE NÃO É POSSÍVEL E 0 SE FOR POSSÍVEL*/ int verificaConflitos (int ri, int rj, int **tabuleiro , int n); funcoes.c int verificaConflitos (int ri, int rj, int **tabuleiro, int n) { int i, i1, i2, j, j1, j2; int teste = 0; i1 = ri; i2 = ri; j1 = rj; j2 = rj; printf("\nentrou verificaConflito"); /**TESTA SE EXISTE ALGUMA NA MESMA LINHA OU COLUNA*/ for (i = 0; i < n; i++) { printf("\nentrou for"); if (tabuleiro[ri][i] == 1 || tabuleiro[i][rj] == 1)//o erro acontece aqui! { teste = 1; printf("\nentrou if"); break; } printf("\nsaiu for"); } O programa não está completo, mas tem o suficiente... Coloquei alguns printf's para ver até onde o programa vai. Penso que seja algo errado em relação ao "tabuleiro [ri] " por tê-lo passado como "** tabuleiro". Alguém sabe me dizer o problema e como consertá-lo?