Question: Debug the following c++ code. When an array of 100 integers is inputted, it gives a segmentation fault. //Segmentation Fault (core dumped) int getNumbers(int A[],
Debug the following c++ code. When an array of 100 integers is inputted, it gives a segmentation fault.
//Segmentation Fault (core dumped) int getNumbers(int A[], int m) { int num; int count = 0; m = 100; int *p; while (cin >> num) { assert(count < m); *(p + count) = num; count++; } cout << "Read " << count << " numbers." << endl; return count; }
int examineNumbers(int *p, int count) { //Check for capacity assert(count > 0); int min, max; float sum; int i; int ipt = *(p + i); // This is equivalent to A[i] //Smallest Number min = *(p + 0); max = *(p + 0); sum = *(p + 0); for (int i = 1; i < count; i++) { if(min > ipt) { min = ipt; } if (max < ipt) { max = ipt; } sum += ipt; assert(count > 0); } cout << "Smallest Value: " << min << endl; cout << "Largest Value: " << max << endl; //Average Number sum = sum / count; cout << "Average Value: " << sum << endl; return 0; }
int main() { int n = 100; int *p; int npt = *(p + n); int outNum; outNum = getNumbers(p, n); examineNumbers(p, outNum); }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
