[ Foro de C++ ]

Problema de referencia indefinida

24-May-2021 02:35
Invitado (David)
0 Respuestas

estoy realiazando un programa para metodos numericos de la regla de Simpson de 1/3 y 3/8 combinado pero me aparece el error de "undefined reference to", y no se como arreglarlo. este es el codigo en C++.
#include<iostream>
#include<iomanip>
#include<cmath>
#include <cstdlib>
//#include"Caratula.h"

using namespace std;

float funcion(float );
float simpson13m(float ,int ,float ,float );
float simpson38(float ,float ,float );
float simpsoncom(float ,int ,float ,float );

int main(void){

//Caratula();
//system("pause");system("cls");

cout<<"\t----Integracion----\n----Regla de Simpson----\n";//pagina 663 5ta edicion
cout<<"Limites de integracion de la funcion f(x)=10+2x-6x^2+x^4:\n";

float a,b,h;
int n,m;

cout<<setprecision(9);

cout<<"\nLimite superior: ";cin>>b;
cout<<"\nLimite inferior: ";cin>>a;

cout<<"\nNumero de segmentos: ";
cin>>n;
m=n+1;
cout<<"\nNumero de puntos: "<<m<<"\n";

h=(b-a)/n;


float f[m],xn[m],Res;

for(int i=0;i<m;i++){
xn[i]=a+(h*i);
cout<<"x"<<i<<"="<<xn[i]<<"\n";
}

for(int j=0;j<m;j++){
f[j]=funcion(xn[j]);
cout<<"f"<<j<<"="<<f[j]<<"\n";
}

Res=simpsoncom(f[m],m,a,b);

cout<<"I= "<<Res<<"\n"<<endl;

system("pause");
return 0;
}

float funcion(float a){
return(10+2*(a)-pow(6*(a),2)+pow(a,4));
}

float simpson13m(float f[],int m,float a,float b){
float sum1=0,sum2=0;

for(int i=1;i<m-1;i+=2){
sum1=sum1+f[i];
}

for(int j=2;j<m-2;j+=2){
sum2=sum2+f[j];
}

return ((b-a)*((f[0]+4*sum1+2*sum2)/3*m));
}

float simpson38(float f[],float a, float b){
return ((b-a)*((f[0]+3*(f[1]+f[2])+f[3])/8));
}

float simpsoncom(float f[],int m,float a, float b){
double odd;

odd=m/2;

if(odd>0 && m>1){
return simpson13m(f[m],m,a,b);
}
else{
float I1=0,I2=0,It=0;
int tam=m-3;

float ft[3];
ft[0]=f[m-3];
ft[1]=f[m-2];
ft[2]=f[m-1];
ft[3]=f[m];

I1=simpson13m(f[tam],tam,a,b);

I2=simpson38(ft[3],a,b);

It=I1+I2;

return It;
}
}




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)