fn main() {
let array = [
[1, 0, 8, 2],
[0, 7, 3, 0],
[9, 0, 0, 4],
];
let mut non_zero_list = Vec::new();
// Collect non-zero elements
for row in &array {
for &element in row {
if element != 0 {
non_zero_list.push(element);
}
}
}
// Convert the list back to a one-dimensional vector
let result_vec: Vec<i32> = non_zero_list.iter().cloned().collect();
for element in result_vec {
print!("{} ", element);
}
}
/*
run:
1 8 2 7 3 9 4
*/