How to append boundary elements of a matrix to a vector in C++

1 Answer

0 votes
#include <iostream>
#include <vector>
   
void AppendMatrixBoundariesToVector(std::vector<std::vector<int>> matrix, std::vector<int> &vector) {
    int rows = matrix.size();
    int cols = matrix[0].size();

    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            if (i == 0 || j == 0 || i == rows - 1 || j == cols - 1) {
                vector.push_back(matrix[i][j]);
            }
        }
    }
}

void printVector(std::vector<int> const &v) {
    for (auto const &n: v) {
        std::cout << n << " ";
    }
}
   
int main() {
    std::vector<std::vector<int>> matrix {
        { 1,  2,  3,  4,  5},
        { 6,  7,  8,  9, 10},
        {11, 12, 13, 14, 15},
        {16, 17, 18, 19, 20}
    };
    
    std::vector<int> vector;
     
    AppendMatrixBoundariesToVector(matrix, vector);
    
    printVector(vector);
}
   
   
   
   
   
/*
run:
      
1 2 3 4 5 6 10 11 15 16 17 18 19 20 
      
*/

 

 



answered Jun 28, 2023 by avibootz

Related questions

1 answer 74 views
1 answer 71 views
1 answer 71 views
2 answers 81 views
2 answers 83 views
1 answer 79 views
...