用列指针实现二维数组平均分计算
时间: 2023-07-20 10:36:17 浏览: 86
可以使用以下代码实现:
```c++
#include <iostream>
using namespace std;
int main()
{
int row, col;
cout << "请输入矩阵的行数和列数:" << endl;
cin >> row >> col;
int **matrix = new int*[row]; // 定义行指针
for (int i = 0; i < row; i++)
{
matrix[i] = new int[col]; // 定义列指针
}
cout << "请输入矩阵中的元素:" << endl;
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
cin >> matrix[i][j]; // 输入矩阵元素
}
}
double avg = 0; // 平均分
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
avg += matrix[i][j]; // 累加矩阵元素
}
}
avg /= (row * col); // 计算平均分
cout << "矩阵的平均分为:" << avg << endl;
// 释放内存
for (int i = 0; i < row; i++)
{
delete[] matrix[i];
}
delete[] matrix;
return 0;
}
```
这里使用了动态内存分配来定义二维数组,其中 `matrix` 是一个指向指针的指针,每个指针指向一行的首地址。在输入矩阵元素时,使用 `matrix[i][j]` 的形式来访问元素。计算平均分时,需要累加所有元素的值,最后除以总元素个数。最后记得释放动态分配的内存。
阅读全文