Verkettete Liste
-
Hi, ich habe hier eine Liste geschrieben, aber sobal die Liste ausgegeben werden soll, stürzt das Programm ab. Ich hoffe ihr könnt mir helfen.
#include "stdafx.h" #include "iostream" using namespace std; struct Liste { Liste* NextElement; int wert; void ShowtoNext(Liste* nextOne) { NextElement = nextOne; } Liste* ShowNext() { return NextElement; } void SetWert(int value) { wert = value; } int ShowWert() { return wert; } }; int main() { int value; Liste* Start = NULL; Liste* temp; Liste* NewElem; do { NewElem = new Liste; cout<<"Geben Sie eine Zahl ein : "; cin>>value; NewElem->SetWert(value); if( Start == NULL) { Start = NewElem; } else { temp->ShowtoNext(NewElem); } temp = NewElem; if(value == 0) break; }while(true); temp = Start; do { cout<<temp->ShowWert()<<endl; temp = temp->ShowNext(); }while(temp != NULL); return 0; }
mfg
T3rmin4t0r
-
du hast nach der eingabeschleife nach eingabe von 0 den zeiger aufs nächste element nicht auf null gesetzt.
füge mal bsp. sowas ein
temp->NextElement=NULL;und gib dann erst aus. sonst läuft deine != null prüfung i nder zweiten schleife schief.
-
temp->ShowtoNext(NewElem);
temp hat einen zufälligen Wert
Weil du es noch nicht definiert hast
-
Danke, jetzt funktionierts.