• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Aezrel

caça ao erro!

4 mensagens neste tópico

Olá a todos.

eu tenho a seguinte função:

inserir_despesa(float valor_pago, float despesa[50][11], int categoria)
{
int i;

for(i=0;i<50;i++)
	if (despesa[i][categoria-1]==0.0)
		despesa[i][categoria-1]=valor_pago;
}

mas dá-me erro, e já se esgotaram as ideias em relaçao ao que o pode originar...

se me puderem ajudar o mais rápido possivel.

Agradecido.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ja nao me recordo o que era... apenas sei que tinha tudo correcto a nivel de sintaxe e simplesmente nao dava.

entao troquei todos os floats por ints, e deu...

há alguma regra, a nivel de vectores muldimensionais de float, em programaçao estruturada?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

	if (despesa[i][categoria-1]==0.0)

Eu garanto-te que se tiveres floats e isto assim para comparar floats não vai funcionar, porque não dá para comparar floats da mesma maneira que int, ora vejamos:

tens o float a=0.0001 e  ao comparares a == 0.0 dá erro por causa da precisão de vírgula flutuante, eu tive que implementar em c++ um algoritmo que já não me lembro qual o nome para poder comparar floats mas acho que o amigo Google vai poder ajudar-te. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora