code tut nicht was er soll
-
vector<int> a; char eingabe; while( eingabe != 'e' ) { cin>>eingabe; a.push_back(eingabe); } if ( (a[1]-a[0]) == (a[2]-a[1]) ) { vector<int> w; w.push_back( a[a.size() - 1] + (a[1] - a[0]) ); cout<<w[w.size()-1]<<endl; }
das programm soll ne arytmetische zahlenreihe fortsetzen findet jemand den fehler?
wie müsste das als templatefassung für geometrische aussehen?thx
-
nxtw schrieb:
vector<int> a; char eingabe; while( eingabe != 'e' ) { cin>>eingabe; a.push_back(eingabe); } if ( (a[1]-a[0]) == (a[2]-a[1]) ) { vector<int> w; w.push_back( a[a.size() - 1] + (a[1] - a[0]) ); cout<<w[w.size()-1]<<endl; }
das programm soll ne arytmetische zahlenreihe fortsetzen findet jemand den fehler?
ich finde nicht, wie das programm funktionieren soll.
und warum tust du char einlesen, wenn du int brauchst. lies doch int ein.
und irgendwie brauchste doch nur zwei zahlen, um die eine dritte zu berechnen. wozu ein ganzer vector?wie müsste das als templatefassung für geometrische aussehen?
plus und minus und mal und durch durch mal und durch und hoch ersetzen wurzel ersetzen, und fertig ist die geometrysche mathematyk.
[/quote]
-
und warum tust du char einlesen, wenn du int brauchst.
ich dachte char wird intern wie int behandel, außerdem muss die schleife bei "e" beendet werden.
und irgendwie brauchste doch nur zwei zahlen, um die eine dritte zu berechnen. wozu ein ganzer vector?
das mach ich im moment um sicher zu gehen das die zahlenreihe auch "richtig" fortgesetzt wird.
also: bei 3,4,5,e soll 6 ausgegeben werden.... funzt aber nicht, bei 1,2,3,e wird 4 ausgeben ist aber (wahrscheinlich)zufall
also kannst mir da einer helfen ich find den fehler nicht
-
vector<int> a; char eingabe; while( eingabe != 'e' ) { cin>>eingabe; if ( eingabe <= '9' ) a.push_back(eingabe); } int b=a.size()-1; cout<<a[b];
hab den fehler gefunden erliegt beim vector, a[b] gibt nicht die letzte zahl der reihe aus sondern irgend eine zweistellige??!
-
bin drauf gekommen, danke