Oto powycinane fragmenty, także działają tak jak mówiłem. Procedura Unu wstawiona jest sztucznie
po odblokowaniu jej wszystko działa.
//---------------------------------------------------------------------------
#ifndef snn3_m2H
#define snn3_m2H
#include <math.h>
#include <iostream>
//---------------------------------------------------------------------------
class TWektor
{
private:
public:
int ils;
double *sm;
TWektor(int il);
~TWektor();
void Unu();
};
//---------------------------------------------------------------------------
class TKomorka
{
private:
int ilwej;
double *w; // wektor wagi
double Fa(double &sigma);
public:
double Sigma();
double *x; // adres wektora wejscia;
double s; // suma;
double a; // po funkcji aktywacj Fa;
TKomorka(TWektor wektor);
~TKomorka();
};
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
#include "snn3_m2.h"
//---------------------------------------------------------------------------
TWektor::TWektor(int il)
{ils=il;sm=new double[ils];for(int i=0;i<ils;i++)sm[i]=1;}
TWektor::~TWektor(){delete[]sm;}
void TWektor::Unu(){sm=new double[ils];for(int i=0;i<ils;i++)sm[i]=1;}
TKomorka::TKomorka(TWektor wektor)
{s=0;ilwej=wektor.ils;x=wektor.sm;w=new double[ilwej];for(int i=0;i<ilwej;i++)w[i]=0.5;}
TKomorka::~TKomorka(){delete[]x;delete[]w;}
double TKomorka::Fa(double &sigma){double wsp=1;double pomexp=exp(-wsp*sigma);return a=((1-pomexp)/(1+pomexp));}
double TKomorka::Sigma(){s=0;for(int i=0;i<ilwej;i++)s+=x[i];return s;}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// wektor1.Unu();
Label2->Caption=komorka1.Sigma();
}
//---------------------------------------------------------------------------