Question: C program, Assign negativeCntr with the number of negativevalues in the linked list, including the list head. #include #include typedef struct IntNode_struct { int dataVal;

C program, Assign negativeCntr with the number of negativevalues in the linked list, including the list head.

#include
#include

typedef struct IntNode_struct {
int dataVal;
struct IntNode_struct* nextNodePtr;
} IntNode;

// Constructor
void IntNode_Create(IntNode* thisNode, int dataInit, IntNode*nextLoc) {
thisNode->dataVal = dataInit;
thisNode->nextNodePtr = nextLoc;
}

/* Insert newNode after node.
Before: thisNode -- next
After: thisNode -- newNode -- next
*/
void IntNode_InsertAfter(IntNode* thisNode, IntNode* newNode){
IntNode* tmpNext = NULL;

tmpNext = thisNode->nextNodePtr; // Remembernext
thisNode->nextNodePtr = newNode; // this -- new --?
newNode->nextNodePtr = tmpNext; // this --new -- next
}

// Grab location pointed by nextNodePtr
IntNode* IntNode_GetNext(IntNode* thisNode) {
return thisNode->nextNodePtr;
}

int IntNode_GetDataVal(IntNode* thisNode) {
return thisNode->dataVal;
}

int main(void) {
IntNode* headObj = NULL; // Create intNodeobjects
IntNode* currObj = NULL;
IntNode* lastObj = NULL;
int i; // Loop index
int negativeCntr;

negativeCntr = 0;

headObj = (IntNode*)malloc(sizeof(IntNode)); //Front of nodes list
IntNode_Create(headObj, -1, NULL);
lastObj = headObj;

for (i = 0; i < 10; ++i) { // Append 10 rand nums
currObj =(IntNode*)malloc(sizeof(IntNode));
IntNode_Create(currObj, (rand() % 21) - 10,NULL);
IntNode_InsertAfter(lastObj, currObj); //Append curr
lastObj = currObj; // Curr is the newlast item
}

currObj = headObj; // Print the list
while (currObj != NULL) {
printf("%d, ",IntNode_GetDataVal(currObj));
currObj = IntNode_GetNext(currObj);
}
printf("");

currObj = headObj; // Count number of negativenumbers
while (currObj != NULL) {

/* Your solution goes here */

currObj = IntNode_GetNext(currObj);
}
printf("Number of negatives: %d", negativeCntr);

return 0;
}

Step by Step Solution

3.46 Rating (153 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!