In your main), you should call knapsack functions with various inputs to ensure
ID: 3723382 • Letter: I
Question
In your main), you should call knapsack functions with various inputs to ensure each function works correctly. You can also use a sequence of different calls such as the below pseudo-code: consider knapsack kl ° add the following items sequentially: 10,-20, 10, 15,-20, 10 o check count of item 10 o check count of8 o check knapsack size consider a second knapsack k2 (note that you can maintain multiple knapsacks concurrently) add the following items sequentially: 5, 10, 15, 20,-5 o remove item 15 o remove item 10 add a new 10 to kl check size of k2 check size of k1 You need to inspect the output after each call by comparing it against the expected output. You can use assert for testing the return value of a function against the expected value.Explanation / Answer
here is your main method : ------------>>>>>>>>>>
int main(){
listitemptr k1;
k1 = KnapsackAdd(k1,10);
assert (k1 != NULL);
k1 = KnapsackAdd(k1,-20);
assert (k1 != NULL);
k1 = KnapsackAdd(k1,10);
assert (k1 != NULL);
k1 = KnapsackAdd(k1,15);
assert (k1 != NULL);
k1 = KnapsackAdd(k1,-20);
assert (k1 != NULL);
k1 = KnapsackAdd(k1,10);
assert (k1 != NULL);
KnapsackPrint(k1);
int size = KnapsackItemCount(k1,10);
assert (size == 3);
cout<<"count of 10 = "<<size;
size = KnapsackItemCount(k1,8);
assert (size == 0);
cout<<"count of 8 = "<<size;
size = KnapsackSize(k1);
assert(size == 7);
cout<<"size of Knapsack k1 = "<<size;
listitemptr k2;
k2 = KnapsackAdd(k2,5);
assert (k2 != NULL);
k2 = KnapsackAdd(k2,10);
assert (k2 != NULL);
k2 = KnapsackAdd(k2,15);
assert (k2 != NULL);
k2 = KnapsackAdd(k2,20);
assert (k2 != NULL);
k2 = KnapsackAdd(k2,-5);
assert (k2 != NULL);
KnapsackPrint(k2);
int state = KnapsackRemove(k2,15);
assert(state == 0);
KnapsackPrint(k2);
state = KnapsackRemove(k2,10);
assert(state == 0);
KnapsackPrint(k2);
k1 = KnapsackAdd(k1,10);
assert (k1 != NULL);
KnapsackPrint(k1);
size = KnapsackSize(k1);
assert(size == 8);
cout<<"size of knapsack k1 = "<<size;
size = KnapsackSize(k2);
assert(size == 3);
cout<<"size of knapsack k2 = "<<size;
return 0;
}