Está en la página 1de 3

#include <iostream>

#include<math.h>
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
using namespace std;
int i,j,z,k,coe,l,f,n,u,op,sw,maxit, it;
int t[20],w[20],P[20];
double x1,xa,fx0,fpx0,e,tol,x0;
main(){

cout<<"\aPOLINOMIO A DESARROLLAR \n ";


cout<<"Digite el Grado de la Ecuacion: ";
cin>> n;
for(i=0;i<=n;i++){
cout<<"Digite el coeficiente " <<i<<": ";
cin>>t[i];
}
for(i=1;i<=n;i++) {
w[i-1]=t[i]*i;
}
cout<<"El polinomio es:\n";
for(j=0;j<=n;j++){
cout<<t[j]<<"X^"<<j<<" + ";
}
cout<<"\nLa derivada es:\n";
for(j=0;j<=n-1;j++){
cout<<w[j]<<"X^"<<j<<" + ";
}
cout<<("\nIngrese el valor de X0 ");
cin>>x0;
cout<<("\nIngrese Tolerancia: ");
cin>>tol;
cout<<("\nIngrese Maxima Iteraciones: ");
cin>>maxit;
sw=0;it=0;
while((sw==0)&&(i<=maxit)){
fx0=0;
for(j=0;j<=n;j++){
fx0=fx0+t[j]*pow(x0,j);
}
fpx0=0;
for(k=0;k<=n-1;k++){
fpx0=fpx0+w[k]*pow(x0,k);
}
x1=x0-fx0/fpx0;
e=fabs(x1-x0);
if(e<=tol){
sw=1;
}else{
it++;
x0=x1;
}

cout<<it<<" "<<x0<<" "<<fx0<<" "<<fpx0<<" "<<x1<<" "<<e<<" "<<"\n";

}
if (sw==1){
cout<<"La raiz es: "<<x1;
}else{
cout<<"No Converge";
}

También podría gustarte