Ir ao conteúdo
  • Cadastre-se

Programa para calcular cosseno;


bigscold

Posts recomendados

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");
}

Link para o comentário
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.

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...