Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

#include <iostream> using namespace std; struct Node { int value; Node* link; };

ID: 3615938 • Letter: #

Question

#include <iostream>

using namespace std;

struct Node

{

int value;

Node* link;

};

typedef Node* NodePtr;

void checkList (NodePtrhead)

{

if (head == NULL)

{

cout <<"You didn't enter any number toadd to the list ";

exit (1);

}

}

NodePtr reversedList(NodePtr head)

{

NodePtr newList = NULL;

while (head->link !=NULL)

{

NodePtr next = head->link;

head->link = newList;

newList = head;

head = next;

}

return newList;

}

void showList (NodePtrhead)

{

for (NodePtr to_show = head;to_show->link != NULL; to_show = to_show->link)

cout << to_show->value <<endl;

}

void reverse (NodePtr&head)

{

head = reversedList (head);

}

void insert ( NodePtr&head, int no)

{

NodePtr temp = new Node;

temp->value = no;

temp->link = head;

head = temp;

}

int main ()

{

NodePtr head = new Node;

head->link = NULL;

int number;

cout << "Enter a list of numbers,negative quits ";

cin >> number;

while ( number >= 0)

{

insert (head, number);

cin >> number;

}

checkList (head);

cout<< "List is ";

showList (head);

cout << "in revese order ";

reverse (head);

showList (head);

return 0;

}

Explanation / Answer

Some changes are made in your code if need more help then SendPrivate Message to me..
#include <iostream.h> #include<conio.h> #include<process.h> struct Node { int value; Node* link; }; typedef Node* NodePtr; void checkList (NodePtr head) { if (head->link== NULL) { cout <<"You didn't enter any number to add to thelist "; getch(); exit(1); } } NodePtr reversedList(NodePtr head) { NodePtr newList = NULL; while (head->link != NULL) { NodePtr next = head->link; head->link = newList; newList = head; head = next; } return newList; } void showList (NodePtr head) { for (NodePtr to_show = head; to_show->link != NULL; to_show= to_show->link) cout << to_show->value << endl; } void reverse (NodePtr& head) { head = reversedList (head); } void insert ( NodePtr& head, int no) { NodePtr temp = new Node; temp->value = no; temp->link = head; head = temp; } int main () { clrscr(); //for screen contents deletion NodePtr head = new Node; head->link = NULL; int number; cout << "Enter a list of numbers, negativequits "; cin >> number; while ( number >= 0) { insert (head, number); cin >> number; } checkList (head); cout<< "List is "; showList (head); cout << "in revese order "; reverse (head); showList (head); getch(); return 0; } #include <iostream.h> #include<conio.h> #include<process.h> struct Node { int value; Node* link; }; typedef Node* NodePtr; void checkList (NodePtr head) { if (head->link== NULL) { cout <<"You didn't enter any number to add to thelist "; getch(); exit(1); } } NodePtr reversedList(NodePtr head) { NodePtr newList = NULL; while (head->link != NULL) { NodePtr next = head->link; head->link = newList; newList = head; head = next; } return newList; } void showList (NodePtr head) { for (NodePtr to_show = head; to_show->link != NULL; to_show= to_show->link) cout << to_show->value << endl; } void reverse (NodePtr& head) { head = reversedList (head); } void insert ( NodePtr& head, int no) { NodePtr temp = new Node; temp->value = no; temp->link = head; head = temp; } int main () { clrscr(); //for screen contents deletion NodePtr head = new Node; head->link = NULL; int number; cout << "Enter a list of numbers, negativequits "; cin >> number; while ( number >= 0) { insert (head, number); cin >> number; } checkList (head); cout<< "List is "; showList (head); cout << "in revese order "; reverse (head); showList (head); getch(); return 0; }