Solved

Using subscript notation in linked list in C++

Posted on 2003-10-22
4
313 Views
Last Modified: 2008-03-17
Hi,I’m writing a program to illustrate the work of psedourandom sequence generator-LFSR(Linear Feedback Shift Register).
Input   :  initial state of LFSR,primitive polynomial.
Output : psedourandom sequence(a combination of initial state by mod 2)
Since the length of LFSR and the polynomial are given by the user when he runs program, i decided to use linked list to contain all the state of LFSR. But then I stuck in how to use subscript notation. Say,for example I have the length of LFSR n=4 and the polynomial f(x)=x^4+x+1.It means in the linked list I have a[i+4]=a[i]+a[i+1] (a[0]-a[3] are given by the user)(assume it like an unlimited array ),but I don’t know how to handle it.Please I need your help!!!
Here’s part of my code:
     #include <iostream.h>
     // object to add to list
       class Data
       {
       public:
         Data() { itsValue = 0;}
         Data(int Position):itsPosition(Position){}
         Data(int data,int Position):itsValue(data),its Position (Position){}
         ~Data(){}
         int GetValue() const { return itsValue; }
         int Get Position ()const{return its Position;}
       private:
         int itsValue;
         int its Position;
       };

      // manages list, orders by its Position.
       class Node
       {
       public:
         Node (Data*);
         ~Node();
         void SetNext(Node * node) { itsNext = node; }
         Node * GetNext() const { return itsNext; }
         Data * GetData() const { return itsData; }
         void Insert(Node *);        
       private:
         Data *itsData;
         Node * itsNext;
       };

       Node::Node(Data* pData):
       itsData(pData),
       itsNext(0)
       {}

       Node::~Node()
       {
         delete itsData;
         itsData = 0;
         delete itsNext;
         itsNext = 0;
       }

       void Node::Insert(Node* newNode)
       {
         if (!itsNext)
            itsNext = newNode;
         else
         {
               newNode->SetNext(itsNext);
               itsNext = newNode;
         }
       }

      int main()
      {
         int nbr;
         cout<<"Enter the number of registers: ";
         cin>>nbr;
         Node *pNode = 0;
         Data * pData = new Data(0,-1);
         int data;
         Node *pHead = new Node(pData);
         for(int i=0;i<nbr;)
         {
            cout << "Value of register "<<i<<"is: ";
            cin >>data ;
            if (data!=0&&data!=1)
            {
               cout<<"Entry is not correct";
               break;
            }
            pData = new Data(data,i);
            pNode = new Node(pData);
            pHead->Insert(pNode);
            i++;
         }
         WHAT CAN I DO FURTHER?!!!
         return 0;
 }
   
0
Comment
Question by:Scarecrow248
  • 2
4 Comments
 
LVL 4

Expert Comment

by:Zonebit
ID: 9599279
0
 

Author Comment

by:Scarecrow248
ID: 9620102
Thanks a lot for your help. Your tutorials have helped me alot
0
 
LVL 4

Accepted Solution

by:
Zonebit earned 125 total points
ID: 9626878
Scarecrow,

Glad to help out.  Your thanks (and your points) are much appreciated.
0

Featured Post

Is Your AD Toolbox Looking More Like a Toybox?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
word0 challenge 4 68
Image decoding from Camera 3 86
VBSCRIPT string remove all characters to the right after extension 4 62
Help Required 3 96
I know it’s not a new topic to discuss and it has lots of online contents already available over the net. But Then I thought it would be useful to this site’s visitors and can have online repository on vim most commonly used commands. This post h…
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question