C++ (matrix sum)

C++ matrix sum myself

#include<iostream>
#include<vector>

using namespace std;
//declare matrix_sum function
vector< vector<int> > matrix_sum(vector< vector<int> > m1, vector< vector<int> > m2);

int main() {
  //define practical m1,m2
  //m3 for get the returned matrix from the function
  vector< vector<int> > m1(5, vector<int> (3,3));
  vector< vector<int> > m2(5, vector<int> (3,4));
  vector< vector<int> > m3;

  m3 = matrix_sum(m1,m2);
  //print out the value from m3
  for (int row = 0; row < m3.size(); row++) {
    for(int col = 0; col < m3[0].size(); col++) {

      cout<<m3[row][col]<<" ";
    }

    cout<<endl;
  }

  return 0;

}

//function define
vector< vector<int> > matrix_sum(vector< vector<int> > m1, vector< vector<int> > m2) {
  //define the sum matrix with the same size with m1
  vector< vector<int> > m3(m1.size(), vector<int> (m1[0].size(), 0));
  //m3 get the sum value 
  for (int i = 0; i < m1.size(); i++) {
    for(int j = 0; j < m1[0].size(); j++) {
      m3[i][j] = m1[i][j] + m2[i][j];
    }
  }

  return m3;

}

C++ Udacity version:

#include <iostream>
#include <vector>

using namespace std;

vector < vector <int> > matrixsum(vector < vector <int> > matrix1, vector < vector <int> > matrix2);
// void means valueless, when you define function but not return value, you can use void.
void matrixprint(vector < vector <int> > inputmatrix);

int main() {

    // declare two matrices
    vector < vector <int> > matrix1 (5, vector <int> (3, 2));
    vector < vector <int> > matrix2 (5, vector <int> (3, 26));

    //declare an empty matrix to hold the result
    vector < vector <int> > matrixresult; 

    //calculate the sum of the two matrices
    matrixresult = matrixsum(matrix1, matrix2);

    // call the matrix print function to print out the results
    matrixprint(matrixresult);

    return 0;
}

//function to add two matrices together
vector < vector <int> > matrixsum(vector < vector <int> > matrix1, vector < vector <int> > matrix2) {

    // declare a matrix with the same size as matrix1 and matrix2
    vector < vector <int> > matrixsumresult (matrix1.size(), vector <int> (matrix1[0].size(), 0));

    // iterate through matrix1 and assign the sum of each element to the results matrix
    for (int row = 0; row < matrix1.size(); row++) {
        for (int column = 0; column < matrix1[0].size(); column++) {
            matrixsumresult[row][column] = matrix1[row][column] + matrix2[row][column];
        }

    }

    return matrixsumresult;


}

// function to print an integer matrix
void matrixprint(vector < vector <int> > inputmatrix) {

    for (int row = 0; row < inputmatrix.size(); row++) {
        for (int column = 0; column < inputmatrix[0].size(); column++) {
            cout << inputmatrix[row][column] << " ";
        }
        cout << endl;

    }
}