000
26.08.2005, 13:12 Uhr
~exigoner
Gast
|
C++: |
void fill_array(array<float> &array) { array.push_back(0.1); array.push_back(0.2); array.push_back(0.3); }
void perzeptron::training(float data[8][3], float *lsg) { int temp; int eschicht_length = 3;
fill_array(ea_schicht); //0.1, 0.2, 0.3 eschicht.push_back(daten, eschicht_length); //gefüllt mit 1,1,1
for(int i = 0; i < eschicht_length; i++) { temp = (ea_schicht.get_element(i)*eschicht.get_element(i) ); //ist immer 0??? warum std::cout<<ea_schicht.get_element(i)<<" mal "<<eschicht.get_element(i)<<" sind "<<ea_schicht.get_element(i)*eschicht.get_element(i)<<" vergleich: "<<temp<<std::endl; } ... }
|
das ist meine ausgabe: 0.1 mal 1 sind 0.1 vergleich: 0 0.2 mal 1 sind 0.2 vergleich: 0 0.3 mal 1 sind 0.3 vergleich: 0
meine frage ist nun warum ich zwar mit diesen elementen rechnen kann aber sie nicht in temp speichern kann??? ich gehe davon aus das meine arrayklassen funktionieren, da sie ja die korrekten zahlen zurückliefern. weiß einer warum ich diese beschissenen produkte nicht in temp speichern kann und immer "0" rauskommt, als ausgabe???? |