How to pass a 2D array to a function in C++

1 Answer

0 votes
#include <iostream>
#include <iomanip>

#define COLS 4

void multiplyArray(int arr[][COLS], int rows) {
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < COLS; j++) {
            arr[i][j] *= 3;
        }
    }
}

int main() {
    int arr[][COLS] = {{ 1, 2, 3, 4 },
                       { 5, 6, 7, 8 },
                       { 9, 10, 11, 12 }};

    int rows = sizeof(arr)/sizeof(arr[0]);
    
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < COLS; ++j) {
            std::cout << std::setw(2) << arr[i][j] << " ";
        }
        std::cout << "\n";
    }

    multiplyArray(arr, rows);

    std::cout << "\n";
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < COLS; j++) {
            std::cout << std::setw(2) << arr[i][j] << " ";
        }
        std::cout << "\n";
    }
 
    return 0;
}
     
     
     
     
/*
run:
   
 1  2  3  4 
 5  6  7  8 
 9 10 11 12 

 3  6  9 12 
15 18 21 24 
27 30 33 36 
      
*/

 



answered May 12, 2021 by avibootz

Related questions

1 answer 254 views
1 answer 149 views
1 answer 174 views
4 answers 253 views
1 answer 239 views
1 answer 160 views
4 answers 298 views
...