removido
(usa Nenhuma)
Enviado em 02/03/2017 - 16:40h
main.c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "MetodoBissecao.h"
#include "MetodoFalsaPosicao.h"
#include "MetodoLagrande.h"
int main(){
int op;
float v1,v2,v3;
printf("Programa de Equacoes Nao Lineares\n");
printf("1 - Metodo da Bissecao\n");
printf("2 - Metodo da Falsa Posicao\n");
printf("3 - Metodo de Lagrande\n");
scanf("%i",&op);
switch(op){
case 1:
tela_p1(v1,v2,v3);
break;
case 2:
//printf();
break;
case 3:
//printf();
break;
default:
//printf();
break;
}
system("PAUSE");
}
MetodoBissecao.c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "MetodoBissecao.h"
#include "MetodoFalsaPosicao.h"
#include "MetodoLagrande.h"
#import "main.c"
/* Determine a raiz aproximada de x^3-9x+3 . No intervalo [0,1] com o erro E ~ 0.01*/
float f1 (float x1){
float y1;
y1 = pow(x1,3)-9*x1+3;
return y1;
}
float bissecao (float a1, float b1,float tol){
float c1, fa, fb, fc;
fa = f(a1);
fb = f(b1);
while (fabs (b1-a1) > tol){
c1 = (a1+b1)/2;
fc = f1(c1);
if (fa * fc < 0){
b1=c1;
fb = fc;
}
else{
a1 = c1;
fa = fc;
}
}
c1 = (a1+b1)/2;
return c1;
}
void tela_p1(float a1, float b1, float c1, float tol){
printf("***METODO DA BISSECAO***\n\n");
printf("a = ");
scanf("%f", &a1);
printf("b = ");
scanf("%f", &b1);
printf("erro = ");
scanf("%f", &tol);
if (f1(a1) * f1(b1) > 0){
printf("O intervalo nao e valido.\n\n");
printf("Digite um novo intervalo = \n\n ");
printf("a= ");
scanf("%f", &a1);
printf("b= ");
scanf("%f", &b1);
}
c1 = bissecao (a1, b1, tol);
printf("Raiz aproximada = %0.4f", c1);
}
MetodoBissecao.c
float f1(float y1);
float bissecao (float a1, float b1,float tol);
void tela_p1(float a1, float b1, float c1, float tol);
Criei um projeto, mas o problema é na hora de chamar a funcao
tela_p1(v1,v2,v3);
Podem me sugerir o erro ?