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.


Anmelden zum Antworten