#include <iostream>
#include <vector>
int main() {
int array[3][4] = {
{1, 0, 8, 2},
{0, 7, 3, 0},
{9, 0, 0, 4}
};
std::vector<int> nonZeroList;
// Collect non-zero elements
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 4; ++j) {
if (array[i][j] != 0) {
nonZeroList.push_back(array[i][j]);
}
}
}
// Convert the list back to a one-dimensional array
int* resultArray = new int[nonZeroList.size()];
for (size_t i = 0; i < nonZeroList.size(); ++i) {
resultArray[i] = nonZeroList[i];
}
for (size_t i = 0; i < nonZeroList.size(); ++i) {
std::cout << resultArray[i] << " ";
}
std::cout << std::endl;
delete[] resultArray; // Release the dynamically allocated memory
}
/*
run:
1 8 2 7 3 9 4
*/