DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   Visual Basic 4 / 5 / 6 (http://www.daniweb.com/forums/forum4.html)
-   -   Help, Assertion problem!!! :( (http://www.daniweb.com/forums/thread118557.html)

kalodakilla Apr 11th, 2008 3:57 am
Help, Assertion problem!!! :(
 
i don't know if i should post it here or in C++ , but please help me, i came into Assertion failure during running this program, and i really don't know why, hope you guys can help, thanks a lot ^:)^

The program is to copy a linked list from another, the Copy function may look complicated because i'm not experienced enough to simplify it.. Without the destructor, the program runs fine..

#include <iostream.h>

struct node
{
        int data ;
        node * next ;
};

class list
{
private:
        node *head ;
public:
        list() ;
        //~list() ;
        node* Add(node *h , int d) ;
        node* Copy(node *& res , node * copy) ;
        void Input() ;
        void Display() ;
        node* GetHead() ;
        void AssignHead(node *h) ;
};

list::list()
{
        head = NULL ;
}

/*list::~list()
{
        while(head)
        {
                node *current = head->next ;
                delete head ;
                head = current ;
        }
}*/


node * list::GetHead()
{
        return head ;
}

void list::AssignHead(node *h)
{
        head = h ;
}

node * list::Add(node *h , int d)
{
        if ( !h )
        {
                h = new node ;
                h->data = d ;
                h->next = NULL ;
        }
        else
                h->next = Add(h->next , d) ;
        return h ;
}

void list::Input()
{
        int n ;
        int d ;
        cout << "How many intergers to input: " ;
        cin >> n ;

        for ( int i = 0 ; i < n ; ++i )
        {
                cout << "Interger #" << i+1 << ", please enter: " ;
                cin >> d ;
                head = Add(head,d) ;
        }
}

void list::Display()
{
        node * current = head ;
        while (current != NULL)
        {
                cout << current->data << " " ;
                current = current->next ;
        }

}

node * list::Copy(node *& res , node * copy)
{

        if (copy)
        {
                res = copy ;
                Copy(res->next,copy->next) ;
        }

        return res ;
}



int main()
{
        list integer , a ;

        integer.Input() ;

        integer.Display() ;
        cout << endl ;

        //a.Input() ;

        //a.Display() ;

        node *res = NULL ;
        a.AssignHead(a.Copy(res , integer.GetHead())) ;

        a.Display() ;

        return 0 ;
}

Jx_Man Apr 11th, 2008 5:03 am
Re: Help, Assertion problem!!! :(
 
Post your thread on C++ section

kalodakilla Apr 11th, 2008 12:16 pm
Re: Help, Assertion problem!!! :(
 
thanks, i posted it in C++ section, please lock this topic, sori for wrong post.

Jx_Man Apr 11th, 2008 12:37 pm
Re: Help, Assertion problem!!! :(
 
don't mind it. Always post in current section friend :). btw i cannot lock this thread. Moderator will do this.


All times are GMT -4. The time now is 8:13 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC