How to convert a 2D array to a 1D array in C++

1 Answer

0 votes
#include <iostream>

constexpr int SIZE = 3;

void arr2DTo1D(int twoDArray[][SIZE], int oneDArray[], int rows, int cols) {
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols; ++j) {
            oneDArray[i * cols + j] = twoDArray[i][j];
        }
    }
}

int main() {
    int twoDArray[SIZE][SIZE] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    int oneDArray[SIZE * SIZE];

    arr2DTo1D(twoDArray, oneDArray, SIZE, SIZE);

    for (int i = 0; i < SIZE * SIZE; i++) {
        std::cout << oneDArray[i] << " ";
    }
}


/*
run:

1 2 3 4 5 6 7 8 9 

*/

 



answered Oct 11, 2024 by avibootz

Related questions

2 answers 117 views
1 answer 145 views
1 answer 155 views
1 answer 158 views
2 answers 141 views
141 views asked Aug 14, 2024 by avibootz
1 answer 99 views
2 answers 125 views
...