题目描述: 读入一个n*m的只有0和1的矩阵,输出每一列上1的个数 输入格式: 第一行两个整数n,m 之后n行,每行m个整数0或1 输出格式: m个整数,第i个为第i列1的个数 样例输入1: 3 5 0 0 1 1 0 0 1 1 0 1 1 0 0 1 0 样例输出1: 1 1 2 2 1 样例输入2: 5 8 1 1 1 0 0 1 0 1 0 0 1 1 1 0 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 样例输出2: 2 1 3 3 4 3 4 3 约定: 1<=n,m<=500 c++解决
时间: 2024-01-02 19:05:17 浏览: 235
c++课件第十一章C++输入输出流共11页.pdf.zip
你好!根据你的描述,你想要一个能够读入一个 n*m 的只有 0 和 1 的矩阵,并输出每一列上 1 的个数的程序。你还指定了输入和输出的格式,并提供了两个示例输入和输出。
以下是一个使用 C++ 实现的解决方案:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<vector<int>> matrix(n, vector<int>(m));
// 读取矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> matrix[i][j];
}
}
// 计算每一列上 1 的个数
vector<int> count(m, 0);
for (int j = 0; j < m; j++) {
for (int i = 0; i < n; i++) {
count[j] += matrix[i][j];
}
}
// 输出结果
for (int j = 0; j < m; j++) {
cout << count[j] << endl;
}
return 0;
}
```
你可以将上述代码保存为一个名为 `count_ones.cpp` 的文件,然后使用 C++ 编译器编译运行该程序。输入示例可以通过标准输入流(例如命令行输入)提供,并且输出结果将通过标准输出流(例如命令行输出)显示。
希望这个解决方案能够满足你的需求!如果你有更多问题,请随时提问。
阅读全文