Erro ao subtrair de uma variável.
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--;
}
}Discussão (2)
Carregando comentários...