Ir para conteúdo
Fórum Script Brasil
  • 0

Raiz Cúbica


Guest - Grazielle -

Pergunta

Guest - Grazielle -

Tenho que tirar a raiz cúbica e a função cbrt não funciona... ela não é reconhecida pela biblioteca math.h...

Alguém sabe de alguma função que calcule a raiz cúbica? Ou porque cbrt() não funciona?

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

oi Graziele........você pode usar a função pow que é definida na biblioteca math.h

o primeiro parametro é o número a ser calculado e o segundo parametro é a potencia.

Ex: raiz cubica de 5

pow(5,1.0/3.0)

te+............

Editado por kandrade
Link para o comentário
Compartilhar em outros sites

  • 0
Guest Lordguedes

Nossa ou eu não entendo nada, ou simplesmente tem gente enrolando a pergunta, definida...ela foi bem clara na pergunta e nem uma das resposta anteriores atendeu.. nesse caso vou átras da resposta e quando achar posto aqui, porque eu também quero saber como faz isso de maneira fácil como a raiz quadarada e potência. :angry:

Link para o comentário
Compartilhar em outros sites

  • 0

Kandrade, acho que voce entendeu errado a pergunta. A pergunta é sobre raiz cubica e não exponenciacao.

Bom, a funcao cbrt() faz parte da biblioteca math.h e é padrão ANSI. O problema deve estar no momento da linkagem. Grazielle, voce esta especificando que a math.h deve ser linkada? no compilador que eu uso (GCC) voce faz isso acrescentando -lm nas opcoes do compilador. Uma outra coisa que pode estar ocorrendo é a implementacao da sua math.h não possuir essa funcao. Em Linux ou MacOS X isso é bem raro, mas já vi bastante em windows (não especificamente com essa funcao, mas com outras funcoes mais obscuras para trabalhar com long double).

Em todo caso, é um bom exercicio voce mesma tentar implementa-la. Procure pela expansao de Taylor da funcao raiz cubica, encontre a recorrencia dos termos e implemente. No google voce provavelmente encontra a expansao e não vai precisar ficar horas calculando derivadas e fatorias para desenvolve-la a partir do zero.

Kandrade, desculpe. Acabei de fazer um teste e vi que com o pow da pra calcular a raiz tambem. Acho que voce so se confundiu no expoente.

Parti do seguinte principio: A raiz cubica de X é igual a X^(1/3).

Portanto, o seguinte codigo calcula a raiz cubica de X:

pow(x, 1.0/3.0);

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Lordguedes

complementando ....

Nossa isso que foi resposta, bom amiga só prá agilizar eu consegui aqui no meu , eu uso o windows e instalei o DEV-C++ como a função srqt aqui no meu funcionou o cbrt agora funcionou também eu que tava postando ele de forma errada mesmo.. mais o importante que deu certo...

vou posta meu código font para que você possa ver e tentar no seu, porque talves sei lá você esteja colocando ele de forma errada...

main ()

// inicio do algoritimo e declaração de vareaveis

{

float raizq,raizc,quadrado,cubo,numero;

printf("Informe um numero que seja positivo e maior que zero.\n");

scanf("%f",&numero);

if (numero > 0)

{

quadrado=pow (numero,2);

cubo=pow (numero,3);

raizq=sqrt(numero);

raizc=cbrt(numero);

printf("\nO numero digitado ao quadrado e %.2f\n",quadrado);

printf("\nO numero digitado ao cubo e %.2f\n",cubo);

printf("\nA raiz quadrada do numero digitado e %.2f",raizq );

printf("\nA raiz cubica do numero digitado e %.2f",raizc );

}

else

{

if (numero < 0 )

{

printf("\nFoi execultado uma operacao inlegal, esse programa sera fechado\n");

}

}

getch ();

}

bom de qualquer forma eu tentei ajudar...

fui!!!! :rolleyes: :P

Link para o comentário
Compartilhar em outros sites

  • 0

Kandrade, acho que voce entendeu errado a pergunta. A pergunta é sobre raiz cubica e não exponenciacao.

isso ai, entendi errado mesmo

ressuscitaram o tópico nem lembrava mais disso

uhauhahuauhahuauh

Kandrade, desculpe. Acabei de fazer um teste e vi que com o pow da pra calcular a raiz tambem. Acho que voce so se confundiu no expoente.

a funcao pow funciona mesmo para calcular raíz, mas o script que deixei lá tá furrado

tem que apagar aquilo

uhauhahuauhaua

valeu :lol:

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Lordguedes

Nossa bom saber que ressutaram o tópico mesmo só assim venho futuramente posta mais dúvidas aqui..mais de qualquer forma já fizemos amigos....hehehehe :)

Link para o comentário
Compartilhar em outros sites

  • 0
Kandrade, acho que voce entendeu errado a pergunta. A pergunta é sobre raiz cubica e não exponenciacao.

Bom, a funcao cbrt() faz parte da biblioteca math.h e é padrão ANSI. O problema deve estar no momento da linkagem. Grazielle, voce esta especificando que a math.h deve ser linkada? no compilador que eu uso (GCC) voce faz isso acrescentando -lm nas opcoes do compilador. Uma outra coisa que pode estar ocorrendo é a implementacao da sua math.h não possuir essa funcao. Em Linux ou MacOS X isso é bem raro, mas já vi bastante em windows (não especificamente com essa funcao, mas com outras funcoes mais obscuras para trabalhar com long double).

Em todo caso, é um bom exercicio voce mesma tentar implementa-la. Procure pela expansao de Taylor da funcao raiz cubica, encontre a recorrencia dos termos e implemente. No google voce provavelmente encontra a expansao e não vai precisar ficar horas calculando derivadas e fatorias para desenvolve-la a partir do zero.

Kandrade, desculpe. Acabei de fazer um teste e vi que com o pow da pra calcular a raiz tambem. Acho que voce so se confundiu no expoente.

Parti do seguinte principio: A raiz cubica de X é igual a X^(1/3).

Portanto, o seguinte codigo calcula a raiz cubica de X:

pow(x, 1.0/3.0);

___________________________________________

eu usei o comando pow(x,1/3)

e o resultado não deu certo

dai usei o que você postou pow(x, 1.0/3.0)

e deu certo, sabe me dizer qual a deferença.

Link para o comentário
Compartilhar em outros sites

  • 0

porque em C os tipos de variável são fortemente tipadas logo se você quer trabalhar com Float ou Double (que são números que usam a parte fracionária) é necessário fazer o casting nas divisões, por isso o ".0" depois dos números, caso esse casting de tipo de variável não seja feito o valor retornado pela divisão é somente a parte inteira desta, que neste caso iria retornar 0 pois computacionalmente a divisão de 1 por 3 é 0,333...4 (numeros de 3 depende do ponto flutuante do seu pc) logo sempre que for fazer uma divisão onde a parte não inteira é necessária utilize o ".0" no final dos números.A outras maneiras de fazer casting mas essa é a menos complicada para divisão.

Link para o comentário
Compartilhar em outros sites

  • 0

A raiz é o "oposto" da potencia:

Fazer  x elevado a 1/2 é o mesmo que fazer raiz quadrada...

Fazer x elevado a 1/3 é o mesmo que fazer raiz cubica...

Por isso dá para resolver raiz com a função pow...

Espero que fique claro para os próximos que vierem consultar o tópico, eu mesmo vim achar a resposta e me lembrei dessa propriedade algébrica graças boa resposta do kandrade...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...