Thread: Linked list problem.

  1. #1
    Registered User Vana Papi's Avatar
    Join Date
    Jul 2012
    Posts
    11

    Question Linked list problem.

    Hi, I'm trying to do the last excercise of c++ beginner exercises.
    I'm getting
    Code:
    Unhandled exception at 0x774a15de (ntdll.dll) in Graduation.exe: 0xC0000005: Access violation writing location 0x00000000.
    I read a tutorial about linked lists and my understanding is that as far as you don't read/write beyond the last link, everything should be fine. Why does it do that?

    Here is my code(void new_bunnies seems to be causing the problem). The exception doesn't occure at every excecution.
    Code:
    #include <iostream>
    #include <time.h>
    #include <string>
    
    
    
    
    enum sex1{male, female, vampire};
    
    std::string name1[]={"Acanthus","Ambrosia","Aria","Atiyana","Avalon","Azalea","Baylyn","Braelyn","Cadence","Calliope","Cashmere","Cassia",
    "Cayenne","Chavonne","Fauna","Flint","Forest","Forsythia","Glimmer","Harmony","Jescha","Keveen","Lark","Lilac","Meadow","Osment",
    "Quintessence","Rontae","Serendipity","Serenity","Slate","Sonnet","Taffeta","Temperance"};
    
    std::string color[]={"white", "brown", "black", "spotted"};
    
    struct bunny{
    public:
        sex1 sex;
        std::string color;
        std::string name;
        int age;
        bool radioactive_mutant_vampire_bunny;
        int alive;             //false 0
        bunny* next;
        int number_of_bunny;
        };
    
    bunny* root;
    bunny* conductor; 
    int n,r;
    std::string female_color[700];
    int k;
    int mutant_count;
    
    int number_of_bunnies=0;
    
    void create_bunny();
    
    void create_5_bunnies();
    
    void up_age();
    
    void new_bunnies();
    
    void create_bunny();
    
    void kill_old();
    
    
    
    
    int main()
    {
        srand(time(NULL));
    
        int bun=0;
        std::cout<<"male=0;female=1;vampire=2\n";
    
        create_5_bunnies();
        while(number_of_bunnies<1000){
    
        std::cout<<"NEW_BUNNIES";
        new_bunnies();
        std::cout<<"UP_AGE";
        up_age();
        std::cout<<"\nKILL_OLD\n";
        kill_old();
    
        std::cout<<number_of_bunnies<<" bunnies\n";
    
        if(number_of_bunnies==0){
            std::cout<<"All bunnies died";
            number_of_bunnies=1000;
            bun=1;
        }
    
        }
        
        if(bun!=1){std::cout<<"Bunny population exceeded 1000";}
        std::cin.get();
        return(0);
    }
    
    void create_5_bunnies(){
        root=new bunny;
        conductor=root;
    
        for(n=1;n<(5+1);n++){
            number_of_bunnies++;
    
            r=rand()%2+1;
            if(r==1)conductor->sex=male;
            else if(r==2)conductor->sex=female;
    
            r=rand()%4+1;
            if(r==1)conductor->color="white";
            else if(r==2)conductor->color="brown";
            else if(r==3)conductor->color="black";
            else if(r==4)conductor->color="spotted";
    
            r=rand()%34+0;
            conductor->name=name1[r];
    
            conductor->age=0;
    
            r=rand()%100+1;
            if(r==1||r==2){
                conductor->radioactive_mutant_vampire_bunny=true;
                conductor->sex=vampire;
            }
            else{conductor->radioactive_mutant_vampire_bunny=false;}
    
            
            std::cout<<"Bunny "<<conductor->name<<" was born!"<<conductor->sex<<"\n";
    
            conductor->alive=1;
    
            conductor->next=new bunny;
            conductor=conductor->next;
            conductor->next=0;
        }
        }
    
    void up_age(){
        conductor=root;
        while(conductor!=NULL){
            conductor->age++;
            conductor=conductor->next;
        }
    }
    
    void new_bunnies(){
        int female_count=0;
        bool male_count=false;
        int bunnies_to_create=0;
        int bunnies_created=0;
        k=1;
        conductor=root;
        
        while(conductor!=NULL){  
            if(conductor->sex==female&&conductor->alive==1){female_count=female_count+1;
            female_color[k]=conductor->color;
            k++;
            female_color[k]=conductor->color;
            k++;
            }
            else if(conductor->sex==male){male_count=true;}
            conductor=conductor->next;
        }
        std::cout<<female_count<<" female bunnys.";
        bunnies_to_create=(female_count*2);
        std::cout<<bunnies_to_create<<" bunnies should born\n";
        if(bunnies_to_create>0){
            conductor=root;
            k=1;
            while(bunnies_created!=bunnies_to_create){
            if(conductor->alive==0){
                std::cout<<"creating bunny2\n";
                create_bunny();
                k++;
                if(conductor->next!=0){conductor=conductor->next;}
            }
            else if(conductor->next==0&&bunnies_created!=bunnies_to_create){
                std::cout<<"creating bunny3\n";
                create_bunny();
                bunnies_created++;
                k++;
                conductor->next=new bunny;
                conductor=conductor->next;
                conductor->next=0;
                }
            else{conductor=conductor->next;}
            }
        }
        conductor=root;
    }
    
    void create_bunny(){
            r=rand()%2+1;
            if(r==1)conductor->sex=male;
            else if(r==2)conductor->sex=female;
    
            conductor->color=female_color[k];
    
            
            r=rand()%34+0;
            conductor->name=name1[r];
    
            conductor->age=0;
    
            r=rand()%100+1;
            if(r==1||r==2){
                conductor->radioactive_mutant_vampire_bunny=true;
                conductor->sex=vampire;
            }
            else{conductor->radioactive_mutant_vampire_bunny=false;}
    
            number_of_bunnies++;
            
            std::cout<<"Bunny "<<conductor->name<<" was born!"<<conductor->sex<<"\n";
    
            conductor->alive=1;
    }
    
    void kill_old(){
        conductor=root;
        while(conductor!=NULL){
            if(conductor->age>10){
            conductor->alive=0;
            number_of_bunnies--;
            std::cout<<conductor->name<<" died!";}
            conductor=conductor->next;
        
        }
    }
    Here is the snippet of code where visual studio points me after the exception.

    Code:
    size_type max_size() const
            {    // return maximum possible length of sequence
            size_type _Num = this->_Alval.max_size();
            return (_Num <= 1 ? 1 : _Num - 1);
            }
    Last edited by Vana Papi; 07-10-2012 at 03:01 PM.

  2. #2
    SAMARAS std10093's Avatar
    Join Date
    Jan 2011
    Location
    Nice, France
    Posts
    2,694
    line 2 is what you should focus at first.What is _Alval?
    The exception doesn't occure at every excecution by chance(if no exception,this means that by chance you read only valid memory)

  3. #3
    Registered User Vana Papi's Avatar
    Join Date
    Jul 2012
    Posts
    11
    Quote Originally Posted by std10093 View Post
    line 2 is what you should focus at first.What is _Alval?
    The exception doesn't occure at every excecution by chance(if no exception,this means that by chance you read only valid memory)
    Sorry for the mess, I didn't post the actual code whats causing the problem(edited the first post), the second code is the exception that visual studio shows me(figured it might help).

    But the real question is, what is causing the exception in my code(the 1st one)? I now know that it doesn't happen by chance, but I don't know, what triggers it.

  4. #4
    Registered User
    Join Date
    May 2009
    Posts
    4,183
    You should normally only call the "srand" function once per program.
    You should call it before the first call to the "rand" function.

    No idea if that is the cause of your program error; but, it might be the cause.

    Tim S.
    "...a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are,in short, a perfect match.." Bill Bryson

  5. #5
    Registered User Vana Papi's Avatar
    Join Date
    Jul 2012
    Posts
    11
    Quote Originally Posted by stahta01 View Post
    You should normally only call the "srand" function once per program.
    You should call it before the first call to the "rand" function.

    No idea if that is the cause of your program error; but, it might be the cause.

    Tim S.
    I'll try it out.
    Edit: Didn't work (edited the code in the first post). Kinda forgot that you only have to seed once, thank you for reminding it.

    The problem seems to be between the lines 140 and 149. I just don't know what exactly
    Last edited by Vana Papi; 07-10-2012 at 03:04 PM.

  6. #6
    Registered User
    Join Date
    May 2009
    Posts
    4,183
    You are doing this step twice; either do it only once or double the size of the array.

    Note: I would increase the array female_color to at least the max number of rabbits.

    Tim S.

    Code:
            female_color[k]=conductor->color;
            k++;
            female_color[k]=conductor->color;
            k++;
    "...a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are,in short, a perfect match.." Bill Bryson

  7. #7
    Registered User Vana Papi's Avatar
    Join Date
    Jul 2012
    Posts
    11
    Quote Originally Posted by stahta01 View Post
    You are doing this step twice; either do it only once or double the size of the array.

    Note: I would increase the array female_color to at least the max number of rabbits.

    Tim S.

    Code:
            female_color[k]=conductor->color;
            k++;
            female_color[k]=conductor->color;
            k++;
    Wow, increasing the array worked, you're amazing!(doing the step twice was intentional)Wasn't about the linked lists after all....
    Thx for the quick replies.

    Now, I've got another problem which I didn't want to add in the beginning, since I was stuck on the new_bunnies function.
    This time, it's the make_mutant_bunnies function(starting at line 221).

    My purpose is to start from the beginning of the links and search the first link which has a mutant variable value 0 and change mutant state, to be mutant(1). It does change mutant variable of 1 bunny, however, it seems to be deleting some info, since the new_bunnies is called, it says female_count is 0, why is that?

    EDIT: now I get
    Unhandled exception at 0x774a15de (ntdll.dll) in Graduation.exe: 0xC0000005: Access violation writing location 0x00000050.
    Code:
    #include <iostream>
    #include <time.h>
    #include <string>
    
    
    
    
    enum sex1{male, female, vampire};
    
    std::string name1[]={"Acanthus","Ambrosia","Aria","Atiyana","Avalon","Azalea","Baylyn","Braelyn","Cadence","Calliope","Cashmere","Cassia",
    "Cayenne","Chavonne","Fauna","Flint","Forest","Forsythia","Glimmer","Harmony","Jescha","Keveen","Lark","Lilac","Meadow","Osment",
    "Quintessence","Rontae","Serendipity","Serenity","Slate","Sonnet","Taffeta","Temperance"};
    
    std::string color[]={"white", "brown", "black", "spotted"};
    
    struct bunny{
    public:
        sex1 sex;
        std::string color;
        std::string name;
        int age;
        int radioactive_mutant_vampire_bunny;
        int alive;             //false 0
        bunny* next;
        int number_of_bunny;
        };
    
    bunny* root;
    bunny* conductor; 
    int n,r;
    std::string female_color[1000];
    int k;
    int mutant_count;
    
    int number_of_bunnies=0;
    
    void create_bunny();
    
    void create_5_bunnies();
    
    void up_age();
    
    void new_bunnies();
    
    void create_bunny();
    
    void kill_old();
    
    void make_mutant_bunnies();
    
    
    
    
    int main()
    {
        srand(time(NULL));
    
        int bun=0;
        std::cout<<"male=0;female=1;vampire=2\n";
    
        create_5_bunnies();
        while(number_of_bunnies<1000){
    
        std::cout<<"NEW_BUNNIES";
        new_bunnies();
        std::cout<<"UP_AGE";
        up_age();
        std::cout<<"\nKILL_OLD\n";
        kill_old();
        std::cout<<"\nMAKING MUTANTS\n";
        make_mutant_bunnies();
    
        std::cout<<number_of_bunnies<<" bunnies\n";
    
        if(number_of_bunnies==0){
            std::cout<<"All bunnies died";
            number_of_bunnies=1000;
            bun=1;
        }
    
        }
        
        if(bun!=1){std::cout<<"Bunny population exceeded 1000";}
        std::cin.get();
        return(0);
    }
    
    void create_5_bunnies(){
        root=new bunny;
        conductor=root;
    
        for(n=1;n<(5+1);n++){
            number_of_bunnies++;
    
            r=rand()%2+1;
            if(r==1)conductor->sex=male;
            else if(r==2)conductor->sex=female;
    
            r=rand()%4+1;
            if(r==1)conductor->color="white";
            else if(r==2)conductor->color="brown";
            else if(r==3)conductor->color="black";
            else if(r==4)conductor->color="spotted";
    
            r=rand()%34+0;
            conductor->name=name1[r];
    
            conductor->age=0;
    
            r=rand()%100+1;
            if(r==1||r==2){
                conductor->radioactive_mutant_vampire_bunny=1;
                conductor->sex=vampire;
            }
            else{conductor->radioactive_mutant_vampire_bunny=0;}
    
            
            std::cout<<"Bunny "<<conductor->name<<" was born!"<<conductor->sex<<"\n";
    
            conductor->alive=1;
    
            conductor->next=new bunny;
            conductor=conductor->next;
            conductor->next=0;
        }
        }
    
    void up_age(){
        conductor=root;
        while(conductor!=NULL){
            conductor->age++;
            conductor=conductor->next;
        }
    }
    
    void new_bunnies(){
        int female_count=0;
        bool male_count=false;
        int bunnies_to_create=0;
        int bunnies_created=0;
        k=1;
        conductor=root;
        
        while(conductor!=NULL){  
            if(conductor->sex==female&&conductor->alive==1){female_count=female_count+1;
            female_color[k]=conductor->color;
            k++;
            female_color[k]=conductor->color;
            k++;
            }
            else if(conductor->sex==male){male_count=true;}
            conductor=conductor->next;
        }
        std::cout<<female_count<<" female bunnys.";
        bunnies_to_create=(female_count*2);
        std::cout<<bunnies_to_create<<" bunnies should born\n";
        if(bunnies_to_create>0){
            conductor=root;
            k=1;
            while(bunnies_created!=bunnies_to_create){
            if(conductor->alive==0){
                std::cout<<"creating bunny2\n";
                create_bunny();
                k++;
                if(conductor->next!=0){conductor=conductor->next;}
            }
            else if(conductor->next==0&&bunnies_created!=bunnies_to_create){
                std::cout<<"creating bunny3\n";
                create_bunny();
                bunnies_created++;
                k++;
                conductor->next=new bunny;
                conductor=conductor->next;
                conductor->next=0;
                }
            else{conductor=conductor->next;}
            }
        }
        conductor=root;
    }
    
    void create_bunny(){
            r=rand()%2+1;
            if(r==1)conductor->sex=male;
            else if(r==2)conductor->sex=female;
    
            conductor->color=female_color[k];
    
            
            r=rand()%34+0;
            conductor->name=name1[r];
    
            conductor->age=0;
    
            r=rand()%100+1;
            if(r==1||r==2){
                conductor->radioactive_mutant_vampire_bunny=1;
                conductor->sex=vampire;
            }
            else{conductor->radioactive_mutant_vampire_bunny=0;}
    
            number_of_bunnies++;
            
            std::cout<<"Bunny "<<conductor->name<<" was born!"<<conductor->sex<<"\n";
    
            conductor->alive=1;
    }
    
    void kill_old(){
        conductor=root;
        while(conductor!=NULL){
            if(conductor->age>10){
            conductor->alive=0;
            number_of_bunnies--;
            std::cout<<conductor->name<<" died!";}
            conductor=conductor->next;
        
        }
    }
    
    void make_mutant_bunnies(){
        
        int mutant_created=0;
        mutant_count=0;
        conductor=root;
        while(conductor!=NULL){              
            if(conductor->radioactive_mutant_vampire_bunny==1){
                mutant_count=mutant_count+1;
            }
        conductor=conductor->next;
        }
    
        conductor=root;
    
        while(mutant_created!=mutant_count){                                      //ERROR HERE
            if(conductor->next=0){
                std::cout<<"ALL VAMPIRES";
                system("PAUSE");
            }
    
                std::cout<<"Checking for vampires:";
    
                if(conductor->radioactive_mutant_vampire_bunny==0){
                conductor->radioactive_mutant_vampire_bunny=1;
                std::cout<<"Bunnie "<<conductor->name<<" just got vampired!";
                conductor->sex=vampire;
                mutant_created++;
                }
    
            conductor=conductor->next;
        }
    
    }
    Last edited by Vana Papi; 07-10-2012 at 04:47 PM.

  8. #8
    SAMARAS std10093's Avatar
    Join Date
    Jan 2011
    Location
    Nice, France
    Posts
    2,694
    line 236 are you sure that conductor->next is not NULL?

    Edit:
    Here is the situation in my opinion:
    At line 250 you set conductor to NULL.Then the loop continues,and we go to line 236 and ask for conductor->next,while the conductor itself is NULL .

    Here is the way i followed to trace that(your code with some cout for me)
    Code:
    cout<<"edw1"<<endl;
        while(mutant_created!=mutant_count){     cout<<"edw12"<<endl;  
        if(conductor==NULL)cout<<"yes"<<endl; else cout<<"not"<<endl;//ERROR HERE
            if(conductor->next=0){
                std::cout<<"ALL VAMPIRES";cout<<"edw13"<<endl;  
                system("PAUSE");cout<<"edw14"<<endl;  
            }
     cout<<"edw15"<<endl;  
                std::cout<<"Checking for vampires:";
     cout<<"edw16"<<endl;  
                if(conductor->radioactive_mutant_vampire_bunny==0){cout<<"edw17"<<endl;  
                conductor->radioactive_mutant_vampire_bunny=1;cout<<"edw18"<<endl;  
                std::cout<<"Bunnie "<<conductor->name<<" just got vampired!";
                conductor->sex=vampire;cout<<"edw19"<<endl;  
                mutant_count++;
                }
     cout<<"edw20"<<endl;  
     if(conductor->next==NULL)cout<<"yes"<<endl; else cout<<"not"<<endl;
            conductor=conductor->next;cout<<"edw21"<<endl;  
        }
    also some tips:
    you may write "using namespace std" at the top of the file
    e.g.
    Code:
    #include <iostream>
    #include <time.h>
    #include <string>
    
    using namespace std;
     
    enum sex1{male, female, vampire};
    However if you are in a .h file try not to use this tip,because then you force the person who included this .h file use this namespace too.

    tip No.2 Do not use system("PAUSE");
    Last edited by std10093; 07-10-2012 at 05:23 PM.

  9. #9
    Algorithm Dissector iMalc's Avatar
    Join Date
    Dec 2005
    Location
    New Zealand
    Posts
    6,318
    Wait, I think I know what the problem is:
    Vampires can be male or female!

    Have you learnt about asserts? They are great tools for documenting and checking conditions that should be true. For example if a certain pointer variable is not supposed to be null at a certain point, then you assert that by saying:
    Code:
    assert(someVariable != NULL);
    Then if a bug has caused it to be NULL by mistake at that point, then the program will break into the debugger and show you the line with the assertion failure.
    My homepage
    Advice: Take only as directed - If symptoms persist, please see your debugger

    Linus Torvalds: "But it clearly is the only right way. The fact that everybody else does it some other way only means that they are wrong"

  10. #10
    Registered User Vana Papi's Avatar
    Join Date
    Jul 2012
    Posts
    11
    Quote Originally Posted by std10093
    line 236 are you sure that conductor->next is not NULL?

    Edit:
    Here is the situation in my opinion:
    At line 250 you set conductor to NULL.Then the loop continues,and we go to line 236 and ask for conductor->next,while the conductor itself is NULL .
    My idea was that it begins from the first link, and then picks the first link which isn't vampire. If it reaches the end, it means that it didn't found any link which isn't a vampire and that means all the bunnies are vampires.
    Now, what I can't understand is, why does it go to the end of the list with a single
    Code:
    conductor=conductor->next
    line(250), shouldn't it just go to the second link, since at line 233 I made conductor to be the first link(root)?

    I probably should make line 236.... and now I just looked at it.
    Code:
    if(conductor->next=0)
    It doesn't ask if conductor is NULL, it makes the conductor to be null.
    Code:
    if(conductor->next==0)
    is correct. And I probably should make it if(conductor==0) as you said.
    Edit: Also changed mutant_count++ to mutant_created++ since it would'nt end the loop.
    Edit2: Thank you for the tips. I used the system("PAUSE") right now to make it quick, have a workaround for it. Happen to know any multi-platform alternatives? Mine is windows only. As for the namespace, I've been told that it's may cause some problems if another person is going to work with your code, so I'm not using it and making it a good habit.

    Quote Originally Posted by iMalc View Post
    Wait, I think I know what the problem is:
    Vampires can be male or female!
    Have you learnt about asserts? They are great tools for documenting and checking conditions that should be true. For example if a certain pointer variable is not supposed to be null at a certain point, then you assert that by saying:
    Code:
    assert(someVariable != NULL);
    Then if a bug has caused it to be NULL by mistake at that point, then the program will break into the debugger and show you the line with the assertion failure.
    I have not learned about asserts, they seem to be pretty useful. Thanks.
    But vampires cannot be female or male, sex has 3 options, male, female, or vampire and I changed the sex value
    Code:
    conductor->sex=vampire
    Line 14 in the last std10093's post.
    Last edited by Vana Papi; 07-11-2012 at 04:05 AM.

  11. #11
    SAMARAS std10093's Avatar
    Join Date
    Jan 2011
    Location
    Nice, France
    Posts
    2,694
    Quote Originally Posted by Vana Papi View Post
    I probably should make line 236.... and now I just looked at it.
    Code:
    if(conductor->next=0)
    It doesn't ask if conductor is NULL, it makes the conductor to be null.
    Code:
    if(conductor->next==0)
    is correct. And I probably should make it if(conductor==0) as you said.
    Oh,good observation!Bravo!!!
    Quote Originally Posted by Vana Papi View Post
    Edit: Also changed mutant_count++ to mutant_created++ since it would'nt end the loop.
    Infinite loops.Always be aware of them.
    Quote Originally Posted by Vana Papi View Post
    Edit2: Thank you for the tips. I used the system("PAUSE") right now to make it quick, have a workaround for it. Happen to know any multi-platform alternatives? Mine is windows only.
    If it is for your usage only,and want something quick,try cin.Declare an int at this point of file where you want your program to stall for you.The program will be stalled as long as you wish,until you input something.
    e.g.
    Code:
    ...
    int t;
    cin>>t;
    ...
    Execution will not continue until you input something.

    Another solution is the sleep function.
    e.g.
    Code:
    #include <windows.h>//header needed
    ...
    sleep(5)
    ..
    Your program will stall for 5 secs.
    Quote Originally Posted by Vana Papi View Post
    As for the namespace, I've been told that it's may cause some problems if another person is going to work with your code, so I'm not using it and making it a good habit.
    Try to avoid it at .h files.In .cpp files there is no problem using it ,and it is very helpful

    Quote Originally Posted by Vana Papi View Post
    I have not learned about asserts, they seem to be pretty useful. Thanks.
    But vampires cannot be female or male, sex has 3 options, male, female, or vampire and I changed the sex value
    Code:
    conductor->sex=vampire
    Line 14 in the last std10093's post.
    asserts are a tool for debuging.It is not necessary to learn it now if you are a beginner

  12. #12
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by std10093 View Post
    Another solution is the sleep function.
    e.g.
    Code:
    #include <windows.h>//header needed
    ...
    sleep(5)
    ..
    Your program will stall for 5 secs.
    That is not correct.
    It's Sleep with a capital S and it takes milliseconds as its argument, so it will stall 5 milliseconds.
    But you may as well go ahead and read SourceForge.net: Pause console - cpwiki
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  13. #13
    SAMARAS std10093's Avatar
    Join Date
    Jan 2011
    Location
    Nice, France
    Posts
    2,694
    Quote Originally Posted by Elysia View Post
    That is not correct.
    It's Sleep with a capital S and it takes milliseconds as its argument, so it will stall 5 milliseconds.
    But you may as well go ahead and read SourceForge.net: Pause console - cpwiki
    Elysia is correct.Sorry for that:/

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. problem linked list?
    By asifbhura in forum C++ Programming
    Replies: 2
    Last Post: 01-21-2006, 02:38 AM
  2. Problem with linked list
    By tallgeese84 in forum C++ Programming
    Replies: 6
    Last Post: 11-17-2005, 10:51 PM
  3. Replies: 6
    Last Post: 03-02-2005, 02:45 AM
  4. syntax linked list problem & struct problem
    By beely in forum C Programming
    Replies: 5
    Last Post: 11-11-2002, 09:14 AM
  5. Linked list problem
    By Eber Kain in forum C++ Programming
    Replies: 3
    Last Post: 04-18-2002, 12:12 PM