whpereira
(usa Outra)
Enviado em 14/06/2015 - 16:57h
boa tarde !
esta dando erro no calculo ! sera que alguns os amigos podem configurar o modelo baixo!?
#include <stdio.h>
#include <stdlib.h>
main (){
float a, b, c, d, e, f, x1, x2, y1, y2, xn, fx, fx1, i=0;
float g, h, k, j;
printf("\t>>>>Resolucao de Newton<<<<\n\n");
printf("Modelo da equacao: Ax(quinta) + Bx(quarta) + Cx(cubo) + Dx(quadrado) + Ex + F\n");
printf("\nObs: O que estiver entre parenteses eh expoente.\n\n");
printf("Digite o valor de A: ");
scanf("%f", &a);
printf("\nDigite o valor de B: ");
scanf("%f", &b);
printf("\nDigite o valor de C: ");
scanf("%f", &c);
printf("\nDigite o valor de D: ");
scanf("%f", &d);
printf("\nDigite o valor de E: ");
scanf("%f", &e);
printf("\nDigite o valor de F: ");
scanf("%f", &f);
printf("\nDigite o valor inferior do intervalo: ");
scanf("%f", &x1);
printf("\nDigite o valor superior do intervalo: ");
scanf("%f", &y1);
g = a * 5;
h = b * 4;
k = c * 3;
j = d * 2;
x2 = (g*x1*x1*x1*x1) + (h*x1*x1*x1) + (k*x1*x1) + (j*x1) + e;
y2 = (g*y1*y1*y1*y1) + (h*y1*y1*y1) + (k*y1*y1) + (j*y1) + e;
if(x2>y2)
xn = x1;
else
xn = y1;
while(i<100){
fx = (a*xn*xn*xn*xn*xn) + (b*xn*xn*xn*xn) + (c*xn*xn*xn) + (d*xn*xn) + (e*xn) + f;
fx1 = (g*xn*xn*xn*xn) + (h*xn*xn*xn) + (k*xn*xn) + (j*xn) + e;
xn = xn - (fx/fx1);
if((xn - (xn - (fx/fx1))) < 0,001)
i=100;
i++;
}
//*/
printf("\n\nA aproximacao da raiz é: %.3f\n\n", xn);
system("pause");
}