Não Consigo usar a função "abs(numero)". [RESOLVIDO]

1. Não Consigo usar a função "abs(numero)". [RESOLVIDO]

Thiago Soares Mota
thiagomota456

(usa Ubuntu)

Enviado em 28/08/2017 - 06:36h

Olá a todos. Estou fazendo uma lista de programação da faculdade e tenho a seguinte questão:

12) Faça um programa para calcular e mostrar o valor de PI, usando a série:
PI=4- 4/3 + 4/5 – 4/7 + 4/9
-... até que um termo seja menor do que 0.0001, em valor absoluto.
Use a função “abs(numero)” para determinar o valor absoluto de um número.

Meu código funciona, mas não com a função abs().

#include<stdio.h>
#include<stdlib.h>//biblioteca a qual a função abs pertence


void main()
{
double pi=0, termo,absoluto;

int i=0,sinal=1 ;

do{

termo=(4.0/(double)(2*i+1));

//absoluto= termo;// sem a função abs isso funciona

pi+= sinal * termo;//calcula o valor de pi

sinal= -sinal;//varia o sinal entre 1 e -1.

absoluto= abs(termo);//usando a função abs

printf("i=%d, pi=%f,sinal=%d,\nabsoluto=%f,termo=%f",i,pi,sinal,absoluto,termo);//valor das variaveis

i++;

}while(absoluto>0.0001);

}






  


2. MELHOR RESPOSTA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 28/08/2017 - 08:07h

abs() da biblioteca padrão do C é uma função que trabalha apenas com argumentos inteiros. Se você quiser trabalhar com argumentos de ponto flutuante, deve usar fabs().

Em C++, por outro lado, o mesmo nome de função abs() pode ser usado tanto para inteiros quanto para ponto flutuante.

3. Re: Não Consigo usar a função "abs(numero)". [RESOLVIDO]

Thiago Soares Mota
thiagomota456

(usa Ubuntu)

Enviado em 28/08/2017 - 10:42h

paulo1205 escreveu:

abs() da biblioteca padrão do C é uma função que trabalha apenas com argumentos inteiros. Se você quiser trabalhar com argumentos de ponto flutuante, deve usar fabs().

Em C++, por outro lado, o mesmo nome de função abs() pode ser usado tanto para inteiros quanto para ponto flutuante.


Muito obrigado, erra esse mesmo o problema.


#include<stdio.h>
#include<math.h>
#include<stdlib.h>//biblioteca a qual a função abs pertence


void main()
{
double pi=0, termo,absoluto;

int i=0,sinal=1 ;

do{

termo=(4.0/(double)(2*i+1));

//absoluto= termo;// sem a função abs isso funciona

pi+= sinal * termo;//calcula o valor de pi

sinal= -sinal;//varia o sinal entre 1 e -1.

absoluto= fabs(termo);//usando a função abs

printf("i=%d, pi=%f,sinal=%d,\nabsoluto=%f,termo=%f",i,pi,sinal,absoluto,termo);//valor das variaveis

i++;

}while(absoluto>0.0001);

}











Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts