Ir ao conteúdo
  • Cadastre-se

Erro função Pow <math.h> visual c++ 2010 express


Drosah

Posts recomendados

Olá, sou novo aqui, me cadastrei porque tô tendo problemas com a função de potência pow em c. Estou fazendo um trabalho de cálculo numérico. O trabalho consiste em cálcular zeros de funções algébricas. Estou fazendo a fase de isolamento das raízes, para isso preciso executar a seguinte fómula:

L=1+(coeficiente/an)^(1/(ordem-expoente))

Ou:

L=1+raiz(coeficiente/an,ordem-expoente)

Em outras palavras quero utilizar uma raiz cujo o índice é dado por ordem-expoente. Para isso utilizei a função de potência que existe na biblioteca math.h e criei a seguinte função:

float calculo_limite_polinomio(int ordem, float an, float coeficiente, int expoente){
return 1.0+pow(coeficiente/an,float(1.0)/float(ordem-expoente));
}

O problema é que dá um erro na hora que eu compilo o código:

1>f:\academico\cálculo numérico\segundo trabalho de cálculo numérico\resolução de equações algebricas\resolução de equações algebricas\main.c(20): warning C4244: 'function' : conversion from 'float' to 'int', possible loss of data

1>f:\academico\cálculo numérico\segundo trabalho de cálculo numérico\resolução de equações algebricas\resolução de equações algebricas\main.c(20): warning C4244: 'function' : conversion from 'float' to 'int', possible loss of data

1>f:\academico\cálculo numérico\segundo trabalho de cálculo numérico\resolução de equações algebricas\resolução de equações algebricas\main.c(29): error C2059: syntax error : 'type'

Tô usando o visual c++ 2010 express. Não tentei compilar no dev ainda, mas eu prefiro que funcione no visual porque tem um debug muito melhor e agiliza na construção do código.

ATUALIZADO:

Conseguir driblar o erro:

float calculo_limite_polinomio(int ordem, float an, float coeficiente, int expoente){
float indice;
indice = 1.0/(ordem-expoente);
return 1.0+pow(coeficiente/an,indice);
}

Mas se eu por assim não funciona:

float calculo_limite_polinomio(int ordem, float an, float coeficiente, int expoente){
//float indice;
//indice = 1.0/(ordem-expoente);
return 1.0+pow(coeficiente/an,float(1.0/(ordem-expoente)));
}

Alguém sabe a explicação para isso. PS: No dev também não conseguir compilar =x

Link para o comentário
Compartilhar em outros sites

Ave, Drosah,

Olá, sou novo aqui, me cadastrei porque tô tendo problemas com a função de potência pow em c. Estou fazendo um trabalho de cálculo numérico.

Seja bem-vindo, meu rei.

ATUALIZADO:

Conseguir driblar o erro:

float calculo_limite_polinomio(int ordem, float an, float coeficiente, int expoente){
float indice;
indice = 1.0/(ordem-expoente);
return 1.0+pow(coeficiente/an,indice);
}

Parabéns. ;):wub:

Mas se eu por assim não funciona:

float calculo_limite_polinomio(int ordem, float an, float coeficiente, int expoente){
//float indice;
//indice = 1.0/(ordem-expoente);
return 1.0+pow(coeficiente/an,float(1.0/(ordem-expoente)));
}

Alguém sabe a explicação para isso. PS: No dev também não conseguir compilar =x

Tente assim, meu rei:

float calculo_limite_polinomio(int ordem, float an, float coeficiente, int expoente)
{

return 1.0 + pow( coeficiente / an, 1.0 / ( (float)ordem - (float)expoente ) );

}

:cool:

LNW

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...