int main() { Network my; unsigned long inp=2; unsigned long hid=2; unsigned long outp=1; unsigned long layers[3]; layers[0]=inp; layers[1]=hid; layers[2]=outp; int i=0,j=0; unsigned long iter=0; cout<<"Enter number of training Iterations : "; cin>>iter; my.SetData(0.1,layers,3); double input[]={1,0}; double *outputs; my.RandomizeWB(); double tr_inp[4][2]={{0.0,0.0},{1.0,0.0},{0.0,1.0},{1.0,1.0}}; double tr_out[4][1]={{0.0},{1.0},{1.0},{0.0}}; cout<<"\nStarting Training... "; std::chrono::time_point<std::chrono::system_clock> start, end; start = std::chrono::system_clock::now(); for(i=0;i<iter;i++){ //cout<<"\nTraining : "<<i+1; for(j=0;j<4;j++){ my.Train(tr_inp[j],tr_out[j]); }} end = std::chrono::system_clock::now(); std::chrono::duration<double> elapsed_seconds = end-start; std::time_t end_time = std::chrono::system_clock::to_time_t(end); std::cout << "finished computation at " << std::ctime(&end_time)<< "elapsed time: " << elapsed_seconds.count() << "s\n"; cout<<"\nEnding Training. "; cout<<"\n\nStarting Testing... \n"; for(j=0;j<4;j++){ cout<<"\n\nCase number : "<<j+1; my.SetInputs(tr_inp[j]); outputs=my.GetOutput(); for(i=0;i<inp;i++){ cout<<"\nInput"<<i+1<<" : "<<tr_inp[j][i]; } for(i=0;i<outp;i++){ cout<<"\nOutput"<<i+1<<" : "<<outputs[i]; } delete outputs; double *outputs; } cout<<"\n\nEnd Testing.\n\n"; //cin.get(); //system("PAUSE"); return 0; }