P.roblem s.olved :)
-
Und das mein Code, bis jetzt:
/* * dynamischesFeld.cpp * * Created on: 29.01.2010 * Author: c.groupe */ #include <iostream> using namespace std; class Feld { public: Feld (int Unten, int Oben); Feld (int Grenze); virtual ~Feld() {delete [] itsFeld;} int get (int index); void set (int index, int wert); int getSize() {return itsOben-itsUnten;} int getLower() {return itsUnten;} int getUpper() {return itsOben;} void display(); private: int *itsFeld; int itsUnten, itsOben; }; Feld::Feld (int Unten, int Oben) { if (Oben > Unten) { int size, i; this->itsUnten = itsUnten; this->itsOben = itsOben; size = getSize(); itsFeld = new int[size]; for (i=0; i<size; ++i) itsFeld[i]=0; } else { clog << "Fehlermeldung: Oberegrenze ist kleiner als Unteregrenze"; itsFeld = new int [0]; this->itsUnten = 0; this->itsOben = 0; } } Feld::Feld(int Grenze) { int size, i; if (Grenze > 0) { this->itsUnten = 0; this->itsOben = Grenze; size = getSize(); itsFeld = new int [size]; for (i=0; i<size; ++i) itsFeld[i]=0; } else { clog <<"Fehlermeldung: Falsche Grenzen\n"; itsFeld = new int [0]; this->itsUnten = 0; this->itsOben = 0; } } int Feld::get(int index) {// Lesen einen Wertes if((index >= itsUnten) && (index < itsOben)) if (itsUnten <= 0) return itsFeld[((-1)*itsUnten) + index]; else return itsFeld[index - itsUnten]; else { clog <<"get() -> Fehler, Feld nicht vorhanden\n"; return 9999999; } } void Feld::set(int index, int wert) {// Wert wird hier gesetzt if((index >= itsUnten) && (index < itsOben)) if (itsUnten <= 0) itsFeld[((-1)*itsUnten) + index] = wert; else itsFeld[index - itsUnten] = wert; else { clog <<"set() -> Fehler, Feld nicht vorhanden\n"; // return 9999; } } void Feld ::display() {// Bildschirmausgabe des Feldes int size = getSize(); for (int i = 0; i < size; i++) cout << itsFeld[i] << " "; cout << "\n"; } int main() { int i; Feld v1(1,3), v2(-5,+5), v3(10); if (v1.getSize() == v2.getSize()) cout << "v1 und v2 haben die gleiche Dimension\n"; v2.set(-1,42); i = v2.get(-1); v1.display(); return 0; }wo ist mein denkfehler ? ich kann nichts machen ich finde ihn nicht.
-
Was genau funktioniert denn nicht?
-
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
-
Debug die Applikation mal. Einfach Breakpoint an den Anfang der main setzen und steppen. Irgendwann kommt dann die Fehlermeldung und dann weisst du auch, wo der Fehler ist.
-
kommt immernoch das selbe.. mhm
-
Fällt dir hier rein gar nichts auf
Feld::Feld (int Unten, int Oben) { if (Oben > Unten) { int size, i; this->itsUnten = itsUnten; // Was weist du hier zu? this->itsOben = itsOben; size = getSize();
-
omg, danke

manchmal sieht man einfach die hand vor den augen nicht mehr, wenn man zulange vorm bildschirm sitzt, danke