Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

liro

Método da Bissecção em C

Mensagens Recomendadas

liro

tenho isto:

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

/**Seja uma solução cos(x)-x e os extremos do intervalo de busca, [a,b]
  onde f(a)*f(b)<0. Pede-se o número de interações para se encontrar a
  raiz.
*/

//Função retorna o valor da expressão cos(x)-x em float
float f(float d){
return cos(d)-d;    //Expressão cos(x)-x. Basta modificar a expressao
}

// Bloco principal
void main(){
float a,b,m,x,xx,xy;
  int n,i;

  do{
   clrscr();
     printf("\t\t\tPROGRAMA DA BISSECCAO\n\n");
     printf("\t\t\tCarlos Mesquita 3CC021U");
     printf("\n\n\tRaiz A: ");
   scanf("%f",&a);
   printf("\n\tRaizB: ");
   scanf("%f",&b);
     m=abs(f(a)*f(b));
   printf("\n\tInteracoes ");
   scanf("%d",&n);
  }while(m<0 || n <= 0);

//Interação é feita nesse bloco
  for(i=1;i<=n;i++){
   x=((a+b)/2);
     xx=abs(f(a)*f(x));
     printf("\n\t%d  %f  %f  %f",i,a,x,b);
     if(xx<0) a=x;
     else     b=x;
  }
//Resultados
   printf("\n\n\tApos %d interacoes a raiz e %f",n,x);

     getch();
}

Será que está correcto???

Brigado..... :thumbsup:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.