Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

#include <iostream> #include <cstdlib> #include <string> using namespace std; in

ID: 3679356 • Letter: #

Question

#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;

int * p;

int sum(int * x, int n);

int main(int argc, char * argv[])
{
int * x = int[argc];
for (int i = 0; i <= argc; i++) {
  x[i] = stoi(argv[i]);
}
cout << "*x is " << (*x) << endl;
int y = sum(x, argc);
cout << "y is " << y << endl;
int z = sum(p, argc);
cout << "z is " << z << endl;

cin.get();
cin.ignore();
return EXIT_SUCCESS;
}

int sum(int * x, int n) {
int sum;
for (int i = 0; i <= n; i++) {
  sum = sum + x[i];
  
}
return sum;
}

What is wrong with this code and provide the corrected version of it. Here is an example output: ./(nameOfFile) 8 1 2
*x is 8
y is 11
z is -1

Explanation / Answer

#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;

int * p;

int sum(int * x, int n);

Here also int not define properly so getting error.

int main(int argc, char * argv[])
{

int * x = int[argc];
for (int i = 0; i <= argc; i++) {
  x[i] = stoi(argv[i]);
}
cout << "*x is " << (*x) << endl;
int y = sum(x, argc);
cout << "y is " << y << endl;
int z = sum(p, argc);
cout << "z is " << z << endl;

cin.get();
cin.ignore();
return EXIT_SUCCESS;
}

int sum(int * x, int n) {
int sum;
for (int i = 0; i <= n; i++) {
  sum = sum + x[i];
  
}
return sum;
}