#include <vector>
#include <iostream>
std::vector<int> columnProducts(const std::vector<std::vector<int>>& matrix) {
// Find the maximum number of columns
size_t maxCols = 0;
for (const auto& row : matrix) {
maxCols = std::max(maxCols, row.size());
}
std::vector<int> products(maxCols, 1);
// Compute column products
for (size_t col = 0; col < maxCols; ++col) {
for (const auto& row : matrix) {
if (col < row.size()) {
products[col] *= row[col];
}
}
}
return products;
}
int main() {
std::vector<std::vector<int>> matrix = {
{1, 2, 3},
{4, 5},
{6, 7, 8, 9}
};
auto result = columnProducts(matrix);
std::cout << "Column products: ";
for (int value : result) {
std::cout << value << " ";
}
return 0;
}
/*
run:
Column products: 24 70 24 9
*/