Question
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
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
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started