Solved

Using subscript notation in linked list in C++

Posted on 2003-10-22
4
327 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 

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

The Ultimate Checklist to Optimize Your Website

Websites are getting bigger and complicated by the day. Video, images, custom fonts are all great for showcasing your product/service. But the price to pay in terms of reduced page load times and ultimately, decreased sales, can lead to some difficult decisions about what to cut.

Question has a verified solution.

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

A short article about a problem I had getting the GPS LocationListener working.
Entering a date in Microsoft Access can be tricky. A typo can cause month and day to be shuffled, entering the day only causes an error, as does entering, say, day 31 in June. This article shows how an inputmask supported by code can help the user a…
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…
Introduction to Processes

687 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