Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Erro ao subtrair de uma variável.

$
0
0

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--;
	}

}

Viewing all articles
Browse latest Browse all 14190

Trending Articles