Meu código está com um problema que não consigo identificar. Tenho uma variável 'cont', nela eu conto até um determinado número e em seguida conto na ordem inversa, ou deveria contar, meu problema é quando vou contar na ordem inversa, ela faz a primeira contagem normalmente, mas na segunda em diante o resultado é sempre '-1'.
Ex: Contagem normal: cont = 1, cont = 2, cont = 3, cont = 4. Contagem inversa: cont = 3, cont = -1, cont = -1, cont = -1.
Se alguém puder me ajudar, desde já agradeço!
Abraço.
#include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char* argv[]) { //Constroi Tabela Verdade int x, y, controle, cont, tam, select, quantLinhas, quantProp; quantProp = 3; //Respectivo ao número de proposições existentes na tabela verdade. quantLinhas = pow(2, quantProp); printf("quantLinhas: %i\n", quantLinhas); printf("quantProp: %i\n", quantProp); int tabela[quantLinhas][quantProp]; cont = 0; select = 0; tam = quantProp - 1; for (x = 0; x < quantProp; x++){ controle = pow(2, tam); for (y = 0; y < quantLinhas; y++){ if (select == 0){ tabela[y][x] = 0; cont++; printf("cont++: %i\n", cont); if (cont >= controle) select = 1; }else{ tabela[y][x] = 1; cont--; printf("cont--: %i\n", cont); if (cont = 0) select = 0; } } tam--; } }