Hey guys, I'm trying to do this problem set. You can read it here

https://www.dropbox.com/s/uj2kd8a764...blem%20Set.pdf

Basically I have already created the function that takes command line arguments and creates the dynamic array.

And the array/matrix works fine. Now Im trying modify the function that finds the largest product of 4 adjacent numbers. Code for that will be posted below.

I need help linking these two functions together so thatfind_greatest_productfunction would take user input fromcreate_arrayfunction and would find the largest product.

Basically what I'm asking is to help me modify it.

Thanks in advance

P.S We cannot use vectors for this assignment.

Code:`#include <iostream>`

#include <cstdlib>

#include <string>

#include <ctime>

#include <iomanip>

using namespace std;

int ** create_array(int rows, int cols);

void fillArray(int ** a, int rows, int cols);

void showArray(int ** a, int rows, int cols);

void find_greatest_product (void);

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

{

for (int i=0; i<argc; i++)

cout << i << " " << argv[i] << endl;

int rows = atoi(argv[2]);

int cols = atoi(argv[4]);

cout << "rows = " << rows << endl;

cout << "cols = " << cols << endl;

int ** array = create_array(rows, cols); // Allocate the array

fillArray(array, rows, cols); // Put in some values

showArray(array, rows, cols); // Display the contents

return 0;

}

int ** create_array(int rows, int cols)

{

int ** arr = new int * [rows];

for (int i=0; i<rows; i++)

arr[i] = new int [cols];

return arr;

}

void fillArray(int ** a, int rows, int cols)

{

srand(time(NULL)); // Generate Random Numbers

int k = 0;

for (int i=0; i< rows; i++)

for (int j=0; j<cols; j++)

a[i][j] = k++;

}

void showArray(int ** a, int rows, int cols)

{

srand(time(NULL)); // Generate Random Numbers

for (int i=0; i< rows; i++)

{

for (int j=0; j<cols; j++)

cout << setw(3) << (a[i][j] =(rand() % 99) + 1) << " ";

cout << endl;

}

}

void find_greatest_product (void) // Function Needs To be Modified So that it takes input from create_array function and finds the largest product of four adjacent numbers

{

char line[10];

int a[i][j];

for(int i =0 ; i<20; i++) {

for(int j=0; j<20; j++) {

tmpfile.getline(line, 10, ' ');

a[i][j] = atof(line);

cout<<a[i][j]<<" ";

}

cout<<endl;

}

double max=1;

double prod;

// rows

for(int i=0;i<20; i++) {

for(int j=0; j<17; j++) {

prod = a[i][j] * a[i][j+1] * a[i][j+2] * a[i][j+3];

if(max < prod) {

max = prod;

}

}

}

// column

for(int j =0; j<20;j++) {

for(int i=0;i<17; i++) {

prod = a[i][j] * a[i+1][j] * a[i+2][j] * a[i+3][j];

if(max < prod) {

max = prod;

}

}

}

// diagonal right top to bottom left

// exclude 3 from 20 as it never can make it to 4 elements

for(int i=0; i< 17;i++) {

for(int j=0; j<17;j++) {

prod = a[i][j]*a[i+1][j+1]*a[i+2][j+2]*a[i+3][j+3];

if(max < prod)

max = prod;

}

}

// diagonal left top to right bottom

for(int i=3; i< 20;i++) {

for(int j=0; j<17;j++) {

prod = a[i][j]*a[i-1][j+1]*a[i-2][j+2]*a[i-3][j+3];

if(max < prod)

max = prod;

}

}

}