Ir para conteúdo

POWERED BY:

Arquivado

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

Dzago

[Resolvido] Problema com a função pow ()

Recommended Posts

#include<stdio.h>
#include<math.h>

double hipotenusa(double side1, double side2);

int main(void){

double lado1, lado2;

printf("Entre com os lados do triangulo.\n");
scanf("%f%f", &lado1, &lado2);

printf("A hipotenusa é: %.2f", hipotenusa(lado1, lado2));

return 0;
}


double hipotenusa(double side1, double side2){

double hip;

hip = pow((side1 * side1) + (side2 * side2), 1/2);
return hip;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

O retorno da função está incorreto.

Você está tentando imprimir um float, mas a sua função retorna um double.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara,

Não é isso n. O printf aceita %f para variáveis do tipo double. Pelo que consegui ver, o erro está na função pow. Não sei porque ela joga em uma das variáveis que calcula um nº negativo, aí não é aceita na raiz quadrada e retorna um erro.

Fazendo com sqrl no lugar de pow roda beleza.

Flw!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não dá erro nenhum.

 

De fato, use o formato adequado para ler valores de tipo double: %lf (obs: para impressão, %f já especifica double).

 

O que você deve ter tentado dizer é que o resultado não é o que você espera (sempre 1.00). O motivo disto é a divisão inteira usada como argumento para pow. Veja este tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw pela correção!

Não sabia que %f podia especificar um double no printf.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw guidjos,

O post lá era exatamente o meu problema, e ainda fiquei sabendo que existem várias biblio que o gcc precisa de uma ajudinha.

Vlw mesmo!!!!!

 

Mas será que tenho como trocar o titulo do tópico? Gostaria de colocar algo como: problema com a função POW.

Outros tb podem ficar perdidos assim como eu fiquei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.