Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

C++ ... my test yields the answer --- but it is 1 short. For example, if it is tested with 6 negatives it tells me

C++ ... my test yields the answer --- but it is 1 short. For example, if it is tested with 6 negatives it tells me that there are 7 negatives. Please advise

#include #include using namespace std;

class IntNode { public: IntNode(int dataInit = 0, IntNode* nextLoc = nullptr); void InsertAfter(IntNode* nodePtr); IntNode* GetNext(); int GetDataVal(); private: int dataVal; IntNode* nextNodePtr; };

// Constructor IntNode::IntNode(int dataInit, IntNode* nextLoc) { this->dataVal = dataInit; this->nextNodePtr = nextLoc; }

/* Insert node after this node. * Before: this -- next * After: this -- node -- next */ void IntNode::InsertAfter(IntNode* nodeLoc) { IntNode* tmpNext = nullptr;

tmpNext = this->nextNodePtr; // Remember next this->nextNodePtr = nodeLoc; // this -- node -- ? nodeLoc->nextNodePtr = tmpNext; // this -- node -- next }

// Grab location pointed by nextNodePtr IntNode* IntNode::GetNext() { return this->nextNodePtr; }

int IntNode::GetDataVal() { return this->dataVal; }

int main() { IntNode* headObj = nullptr; // Create intNode objects IntNode* currObj = nullptr; IntNode* lastObj = nullptr; int i; int negativeCntr;

negativeCntr = 0;

headObj = new IntNode(-1); // Front of nodes list lastObj = headObj;

for (i = 0; i < 10; ++i) { // Append 10 rand nums currObj = new IntNode((rand() % 21) - 10); lastObj->InsertAfter(currObj); // Append curr lastObj = currObj; // Curr is the new last item }

currObj = headObj; // Print the list while (currObj != nullptr) { cout << currObj->GetDataVal() << ", "; currObj = currObj->GetNext(); } cout << endl;

currObj = headObj; // Count number of negative numbers while (currObj != nullptr) {

currObj = currObj->GetNext(); }

currObj = headObj; while (currObj > 0) { if(currObj->GetDataVal()<0) negativeCntr++;

currObj = currObj->GetNext(); } cout << "Number of negatives: " << negativeCntr << endl;

return 0; }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions