C++编写一个函数,计算二维整型数组中各列之和。主函数中进行输入、输出。要求使 用动态内存分配实现。
时间: 2023-12-03 22:43:49 浏览: 69
以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
int main()
{
int m, n;
cout << "请输入矩阵的行数和列数:";
cin >> m >> n;
// 动态分配二维数组
int **a = new int *[m];
for (int i = 0; i < m; i++)
a[i] = new int[n];
// 输入矩阵元素
cout << "请输入矩阵的元素:" << endl;
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
cin >> a[i][j];
// 计算每列之和
int *sum = new int[n];
for (int j = 0; j < n; j++)
{
sum[j] = 0;
for (int i = 0; i < m; i++)
sum[j] += a[i][j];
}
// 输出每列之和
cout << "每列之和为:";
for (int j = 0; j < n; j++)
cout << sum[j] << " ";
// 释放内存
for (int i = 0; i < m; i++)
delete[] a[i];
delete[] a;
delete[] sum;
return 0;
}
```
注:动态分配二维数组时,先要分配第一维,再分配第二维。释放内存时,也要先释放第二维,再释放第一维。