Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
bigscold

[Resolvido] Programa para calcular cosseno;

Recommended Posts

A questão é a seguinte:

Dados x real e n natural, calcular uma aproximac~ao para cos x atraves dos n primeiros termos

da seguinte serie: (aqui é fórmula de taylor, 1-x²/x! + .....)

Meu programa está assim, mas está dando erro em compilar:

#include <stdio.h>
#include <locale.h>

int fatorial (int a){
int fatorial;
int i;
i=2;
fatorial=1;
while (i<=a){
fatorial=fatorial*i;
i++;
}
return fatorial;
}

float conversor (int a){
float convertido;
convertido=(3.14*a)/180;
return convertido;
}

float expoentecalc (float a,float ;
float valor;
int p;
p=1;
base=1;
while (p<={
valor=valor*a;
i++;
}
return valor;
}

void main () {
setlocale(LC_ALL,"");
int i,n,contador,graus,divisor;
float x,resposta,temporario,expoente;
temporario=0;
i=2;
divisor=0;
contador=0;
resposta=0;
printf ("Digite o valor do cosseno que deseja aproximar e logo depois separado por espaço o grau de aproximação que deseja. Quanto maior o segundo valor, mais preciso será.");
scanf ("%d %d",&graus,&n);
x=conversor(graus);
do{ resposta=resposta+temporario;
contador++;
divisor=fatorial(i);
expoente=expoentecacl(x,i);
if (!(contador%2==0))
temporario=-(expoente/divisor);
else
temporario=(expoente/divisor);
i=i+2;
}while(i<=n);
resposta=resposta+temporario;
printf ("A aproximação do cosseno de %d é %f",graus,resposta);
system ("PAUSE");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites


#include <stdio.h>
#include <locale.h>

int fatorial (int a){
int fatorial;
int i;
i=2;
fatorial=1;
while (i<=a){
fatorial=fatorial*i;
i++;
}
return fatorial;
}

float conversor (int a){
float convertido;
convertido=(3.14*a)/180;
return convertido;
}

float expoentecalc (float a,float ;[B]//errado[/B]
float expoentecalc (float a,float {
float valor;
[B]int p=1;[/B]
p=1;//
[B]int base=1;[/B]
int i; [B]//esta variável não estava declarada[/B]
while (p<={
valor=valor*a;
i++;
}
return valor;
}

void main () {
setlocale(LC_ALL,"");
int i,n,contador,graus,divisor;
float x,resposta,temporario,expoente;
temporario=0;
i=2;
divisor=0;
contador=0;
resposta=0;
printf ("Digite o valor do cosseno que deseja aproximar e logo depois separado por espaço o grau de aproximação que deseja. Quanto maior o segundo valor, mais preciso será.");
scanf ("%d %d",&graus,&n);
x=conversor(graus);
do{ resposta=resposta+temporario;
contador++;
divisor=fatorial(i);
expoente=expoentecacl(x,i);[B]//errado[/B]
[B]expoente=expoentecalc(x,i);[/B]
if (!(contador%2==0))
temporario=-(expoente/divisor);
else
temporario=(expoente/divisor);
i=i+2;
}while(i<=n);
resposta=resposta+temporario;
printf ("A aproximação do cosseno de %d é %f",graus,resposta);
system ("PAUSE");
}

experimente essas mudanças para ver se agora compila.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É, muito obrigado mesmo. Agora ele compilou, coisa que antes ela não estava fazendo por erros bobos. Sua ajuda me foi muito util.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×