Data Structures PLEASE USING THIS C PROGRAM BELOW I NEED HEL

Data Structures

PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \"I able\" REVERSE/BACKWARDS(PALINDROME)


#include <iostream>

#include <stdlib.h>

using namespace std;

struct st

{

    int year;

    st *next;

};

class queue

{

public:

    int sz,i = 0;

    char chr[100];

    queue()

    {

        //constructor for initializing front and rear to NULL

        front = NULL;

        rear = NULL;

        cout << \"enter size of queue: \";

        cin >> sz;

    }

   

//    ~queue()

//    {

//      

//    }

   

    // in the enterqueue, create a new node, assign value and add it to queue

    // if F = R = NULL the ( ) else ( )

    void enterqueue(int yr, char el)

    {

        //inserting into queue if queue not overflow

       

        if(i >= sz)

        {

            cout << \"queue over flow\";

            return;

        }

       

        if (front == NULL )

        {

            front = new st;

            front->next = NULL;

            front->year = yr;

            rear = front;

           

            chr[i] = el;

           

            i++;

        }

       

        else

        {

            st *temp = new st;

           

            temp->year = yr;

            rear->next = temp;

            rear = temp;

            chr[i] = el;

            i++;

        }

    }

   

    char deletequeue()

    {

        //delete front data from queue if data in the queue

        char tr;

        int j = 0;

        st *temp;

        temp = front;

       

        if( front == NULL)

        {

            cout << \"queue under flow\";

            return \'a\';

        }

       

        if(front == rear)

        {

            front = rear = NULL;

           

            return \'a\';

        }

       

        front = front->next;

        delete temp;

        tr = chr[0];

        i--;

       

        for(j = 0; j < i; j++)

        {

            chr[j] = chr[j+1];

        }

       

        chr[j] = \'\\0\';

       

        return tr;

    }

   

    bool isempty()

    {

        //it shows whether queue is empty

        if( front == NULL)

        {

           

            return true;

        }

       

        else

            return false;

    }

   

    bool isfull()

    {

        //it shows whether queue is full

        if(i == sz)

            return true;

        else

            return false;

    }

   

    void display()

    {

       

        //it displays queue data with characters of queue if invalid choice is entered

       

        st *tmp;

        int j = 0;

        cout << \"\ queue is:\ character \\tyear\";

       

        for(tmp = front; tmp != rear; tmp = tmp->next, j++)

        {

            cout << \"\ \" << chr[j] << \" \" << tmp->year;

        }

       

        cout << \"\ \"<<chr[j] << \" \" << tmp->year;

    }

   

private:

    st *front, *rear;

};

int main()

{

   

    //main method to call queue functions by choice

    queue s1;

    int ch,yr;

    char el;

    bool s;

   

    while(1)

    {

        cout << \"\ 1.ENTERQUEUE\ 2.DELETEQUEUE\ 3.ISEMPTY\ 4.ISFULL\ 5.EXIT\ enter your choice: \";

        cin >> ch;

       

        switch(ch)

        {

            case 1:

                if(!s1.isfull())

                {

                    cout << \"\ enter a year : \";

                    cin >> yr;

                    cout << \"\ enter a character : \";

                    cin >> el;

                    s1.enterqueue(yr, el);

                }

               

                else

                    cout << \"insertion not possible\";

                break;

               

            case 2:

                s = s1.isempty();

               

                if(!s)

                {

                    el = s1.deletequeue();

                    cout << \"\ The character of queue \" << el <<\" is deleted\" << endl;

                }

               

                else

                    cout << \"\ queue is empty.deletion not possible\"<< endl;

                break;

               

            case 3:

                s = s1.isempty();

               

                if(s)

                    cout << \"\ queue is empty\" << endl;

                else

                    cout << \"\ queue is not empty\" << endl;

                break;

               

            case 4:

                s=s1.isfull();

               

                if(s)

                    cout << \"\ queue is full\" << endl;

                else

                    cout << \"\ queue is not full\" << endl;

                break;

               

            case 5:

                exit(0);

            default : cout << \"invalid choice\" << endl;

                if(!s1.isempty())

                    s1.display();

        }

    }

   

    return (0);

}

Solution


#include <iostream>

#include <stdlib.h>

using namespace std;

struct st

{

    int year;

    st *next;

};

class queue

{

public:

     //int sz,i=0;//modified //code modified here// everything is fine with the code except this... queue is implemented correctly
   //you can use this code for ur program;
   int sz,i;
    char chr[100];

    queue()

    {

        //constructor for initializing front and rear to NULL

        front = NULL;

        rear = NULL;

        cout << \"enter size of queue: \";

        cin >> sz;

    }

//    ~queue()

//    {

//    

//    }

    // in the enterqueue, create a new node, assign value and add it to queue

    // if F = R = NULL the ( ) else ( )

    void enterqueue(int yr, char el)

    {

        //inserting into queue if queue not overflow

     

        if(i >= sz)

        {

            cout << \"queue over flow\";

            return;

        }

     

        if (front == NULL )

        {

            front = new st;

            front->next = NULL;

            front->year = yr;

            rear = front;

         

            chr[i] = el;

         

            i++;

        }

     

        else

        {

            st *temp = new st;

         

            temp->year = yr;

            rear->next = temp;

            rear = temp;

            chr[i] = el;

            i++;

        }

    }

    char deletequeue()

    {

        //delete front data from queue if data in the queue

        char tr;

        int j = 0;

        st *temp;

        temp = front;

     

        if( front == NULL)

        {

            cout << \"queue under flow\";

            return \'a\';

        }

     

        if(front == rear)

        {

            front = rear = NULL;

         

            return \'a\';

        }

     

        front = front->next;

        delete temp;

        tr = chr[0];

        i--;

     

        for(j = 0; j < i; j++)

        {

            chr[j] = chr[j+1];

        }

     

        chr[j] = \'\\0\';

     

        return tr;

    }

    bool isempty()

    {

        //it shows whether queue is empty

        if( front == NULL)

        {

         

            return true;

        }

     

        else

            return false;

    }

    bool isfull()

    {

        //it shows whether queue is full

        if(i == sz)

            return true;

        else

            return false;

    }

    void display()

    {

     

        //it displays queue data with characters of queue if invalid choice is entered

     

        st *tmp;

        int j = 0;

        cout << \"\ queue is:\ character year\";

     

        for(tmp = front; tmp != rear; tmp = tmp->next, j++)

        {

            cout << \"\ \" << chr[j] << \"\\t \" << tmp->year;

        }

     

        cout << \"\ \"<<chr[j] << \"\\t \" << tmp->year;

    }

private:

    st *front, *rear;

};

int main()

{

    //main method to call queue functions by choice

    queue s1;

    int ch,yr;

    char el;

    bool s;

    while(1)

    {

        cout << \"\ 1.ENTERQUEUE\ 2.DELETEQUEUE\ 3.ISEMPTY\ 4.ISFULL\ 5.Display queue\ 6.EXIT\ enter your choice: \";

        cin >> ch;

     

        switch(ch)

        {

            case 1:

                if(!s1.isfull())

                {

                    cout << \"\ enter a year : \";

                    cin >> yr;

                    cout << \"\ enter a character : \";

                    cin >> el;

                    s1.enterqueue(yr, el);

                }

             

                else

                    cout << \"insertion not possible\";

                break;

             

            case 2:

                s = s1.isempty();

             

                if(!s)

                {

                    el = s1.deletequeue();

                    cout << \"\ The character of queue \" << el <<\" is deleted\" << endl;

                }

             

                else

                    cout << \"\ queue is empty.deletion not possible\"<< endl;

                break;

             

            case 3:

                s = s1.isempty();

             

                if(s)

                    cout << \"\ queue is empty\" << endl;

                else

                    cout << \"\ queue is not empty\" << endl;

                break;

             

            case 4:

                s=s1.isfull();

             

                if(s)

                    cout << \"\ queue is full\" << endl;

                else

                    cout << \"\ queue is not full\" << endl;

                break;

             

            case 5:
               if(!s1.isempty())

                    s1.display();
                    break;
              
           case 6:   exit(0);

            default : cout << \"invalid choice\" << endl;

              

        }

    }

    return (0);

}

output:-

enter size of queue: 3

1.ENTERQUEUE
2.DELETEQUEUE
3.ISEMPTY
4.ISFULL
5.Display queue
6.EXIT
enter your choice: 1

enter a year : 1994

enter a character : a

1.ENTERQUEUE
2.DELETEQUEUE
3.ISEMPTY
4.ISFULL
5.Display queue
6.EXIT
enter your choice: 1

enter a year : 1995

enter a character : b

1.ENTERQUEUE
2.DELETEQUEUE
3.ISEMPTY
4.ISFULL
5.Display queue
6.EXIT
enter your choice: 1

enter a year : 1996

enter a character : c

1.ENTERQUEUE
2.DELETEQUEUE
3.ISEMPTY
4.ISFULL
5.Display queue
6.EXIT
enter your choice: 1
insertion not possible
1.ENTERQUEUE
2.DELETEQUEUE
3.ISEMPTY
4.ISFULL
5.Display queue
6.EXIT
enter your choice: 3

queue is not empty

1.ENTERQUEUE
2.DELETEQUEUE
3.ISEMPTY
4.ISFULL
5.Display queue
6.EXIT
enter your choice: 4

queue is full

1.ENTERQUEUE
2.DELETEQUEUE
3.ISEMPTY
4.ISFULL
5.Display queue
6.EXIT
enter your choice: 5

queue is:
character year
a        1994
b        1995
c        1996
1.ENTERQUEUE
2.DELETEQUEUE
3.ISEMPTY
4.ISFULL
5.Display queue
6.EXIT
enter your choice: 2

The character of queue a is deleted

1.ENTERQUEUE
2.DELETEQUEUE
3.ISEMPTY
4.ISFULL
5.Display queue
6.EXIT
enter your choice: 5

queue is:
character year
b        1995
c        1996
1.ENTERQUEUE
2.DELETEQUEUE
3.ISEMPTY
4.ISFULL
5.Display queue
6.EXIT
enter your choice:6

Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \
Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \
Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \
Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \
Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \
Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \
Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \
Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \
Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \
Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \
Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \
Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \
Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \
Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \
Data Structures PLEASE USING THIS C++ PROGRAM BELOW, I NEED HELP ON IMPLEMENTING BOTH QUEUE AND STACK TO PRINT \

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site