Descarga la aplicación para disfrutar aún más
Esta es una vista previa del archivo. Inicie sesión para ver el archivo original
#include<iostream> #include<math.h> #include <stdlib.h> #include<iomanip> using namespace std; class funcion{ private: int i, n, j; double cp, b1[50],b2[50], o, p, q, r, s, t; public: void xfx(int n){ char resp='0'; do{ cout<<"\nIngresa los valores de para x: \n"; for(i=0; i<n;i++){ cout<<"x["<<i<<"]= "; cin>>b1[i]; } cout<<"\n\nIngresa los valores de para f(x): \n"; for(i=0; i<n;i++){ cout<<"fx["<<i<<"]= "; cin>>b2[i]; } cout<<"\n|x\t|\t"; for(i=0; i<n;i++){ cout<<b1[i]<<"\t|\t"; } cout<<"\n|f(x)\t|\t"; for(i=0; i<n;i++){ cout<<b2[i]<<"\t|\t"; } cout<<endl<<endl; cout<<"\n\n¿Los valores son correctos? s/n\n"; cin>>resp; }while(resp!='s'); } double Pi(int i, int n, double o){ double multi = 1; for (int k=0; k<=n; k++) { if (k!=i) multi=multi*((o-b1[k])/(b1[i]-b1[k])); } return multi; }//o punto p interpolacion void Lagrangiano(double o, int p){ double suma=0, pii=0; for (i=0; i<=p; i++) { pii= Pi(i,p,o); suma+=(pii*b2[i]); } cout<<"\n\nEl valor para f"<<p<<"("<<o<<") es... "<<suma<<endl<<endl; } }; class Metodo:public funcion{ public: void Lag(int m, int n, double o){ xfx (m); Lagrangiano(o, n); system("pause"); } }; int main(){ int n1, n2; double n3; char rei='0'; system("cls"); do{ char resp='0'; cout<<"Ingresa el número de muestras n..."; cin>>n1; do{ cout<<"\nIngresa el grado de interpolación g..."; cin>>n2; if(n2>n1) cout<<"g es incorrecto, intentar de nuevo.\n\n"; else resp='s'; }while(resp!='s'); cout<<"\nIngresa el punto a interpolar de x..."; cin>>n3; Metodo obj1; obj1.Lag(n1, n2, n3); cout<<"\n\n¿Deseas repetir el programa? s/n... "; cin>>rei; }while(rei=='s'); system("cls"); return 0; }
Compartir