Código C++:
Ver original
#include <iostream> #include <math.h> #include <iomanip> using namespace std; struct dendrita{ double peso=0.32; }; //3.368998902283415031178037679637782275676727294921875 peso //0.99883983 class neurona{ private: dendrita dendritas[2]; int i1,i2; double sum=0; double sesgo=0.02; public: neurona(int i, int j){ i1=i; i2=j; sum=sesgo+i*dendritas[0].peso+j*dendritas[1].peso; cout<<"sum= "<<sum; } void evaluar(){ double x; int xx; xx=x*10000000; x=xx/10000000.0; cout<<"este es x: "<<x<<endl; if(x>=1.0){ cout<<"estoy excitada"<<endl; cout<<"Peso: "<<dendritas[0].peso; }else{ //"no estoy excitada, x= "<< //cout<<setprecision(150)<<x<<endl<<endl<<endl<<endl; recalcular(x); } } void recalcular(double x){ double delta=(1-x)*0.01; int peso1,peso2,delt=delta*10000000; delta=delt/10000000.0; dendritas[0].peso=dendritas[0].peso+delta; peso1=dendritas[0].peso*100000; dendritas[0].peso=peso1/100000.0; dendritas[1].peso=dendritas[0].peso+delta; peso2=dendritas[1].peso*100000; dendritas[1].peso=peso2/100000.0; //cout<<"delta w: "<<setprecision(15)<<delta<<endl; cout<<"dendritas peso: "<<dendritas[0].peso<<endl; instanciar(); } void instanciar(){ int summ; sum=sesgo+i1*dendritas[0].peso+i2*dendritas[1].peso; summ=sum*10000000; sum=summ/10000000.0; cout<<"suma: "<<sum<<endl; evaluar(); } void peso(){ cout<<"peso= "<<dendritas[0].peso; } }; int main() { int x,i1,i2; cout<<"Digite entrada 1: "; cin>>i1; cout<<"Digite entrada 2: "; cin>>i2; neurona prueba(i1,i2); prueba.instanciar(); return 0; }