the goal of this code is to create a matrix of userNum x use
the goal of this code is to create a matrix of userNum x userNum size of distict random integers.
How can the printing for loop and vector creating for loop be rewritten into separate functions?
do
{
do
{
cout << \"\ Enter the size of the matrix: \";
cin >> userNum;
if (userNum < 2 && !isdigit(userNum))
cout << \"\ Error *** Must be an integer greater than 2\" << endl;
} while(userNum < 2);
vector<vector<int> > randMatrix;
cout << \"\ \ The perfect matrix that is created for size \" << userNum << \":\" << $
srand(time(NULL));
for (int i = 0; i < userNum; i++){
vector<int> row;
for(int j = 0; j < userNum; j++){
while ((rand() % 10) != row[i]){
row.push_back(rand() % 10);
}
}
randMatrix.push_back(row);
}
for(int i = 0; i < randMatrix.size(); i++){
for(int j = 0; j < randMatrix[i].size(); j++){
cout << randMatrix[i][j] << \" \";
}
cout << endl;
}
Solution
Below code is modified according to the seperate functions for creating and printing the matrix :
do
 {
 do
 {
 cout << \"\ Enter the size of the matrix: \";
 cin >> userNum;
 
 if (userNum < 2 && !isdigit(userNum))
 cout << \"\ Error *** Must be an integer greater than 2\" << endl;
 } while(userNum < 2);
 
 vector<vector<int> > randMatrix;
 
 cout << \"\ \ The perfect matrix that is created for size \" << userNum << \":\" << $
 
 createVector(&randMatrix,userNum);
 
 
 printMatrix(&randMatrix);
   
    }
   
    // Seperate methods for creating and printing matrix
   
    int createVector(vector<vector<int> > *randMatrix, int userNum){
    srand(time(NULL));
 for (int i = 0; i < userNum; i++){
 vector<int> row;
 for(int j = 0; j < userNum; j++){
 while ((rand() % 10) != row[i]){
 row.push_back(rand() % 10);
 }
 }
 randMatrix.push_back(row);
 }
   
    }
   
    int printMatrix(vector<vector<int> > *randMatrix){
    for(int i = 0; i < randMatrix.size(); i++){
 for(int j = 0; j < randMatrix[i].size(); j++){
 cout << randMatrix[i][j] << \" \";
 }
 cout << endl;
   
    }


