用指针编程实现3x4的二维数组的元素读入以及求此二维数组的最大值及最大值下标 请用以下函数实现:
时间: 2023-06-05 07:47:42 浏览: 204
题目:用指针编程实现3x4的二维数组的元素读入以及求此二维数组的最大值及最大值下标,请用以下函数实现:
```C++
void read(int *a,int row,int col); //读入二维数组元素
int max(int *a,int row,int col,int *index); //求最大值及其下标
```
解答:
```C++
void read(int *a,int row,int col) {
for(int i=0;i<row;++i) {
for(int j=0;j<col;++j) {
cin>>(*(a+i*col+j));
}
}
}
int max(int *a,int row,int col,int *index) {
int maxn = *(a+0);
int max_i = 0, max_j = 0;
for(int i=0;i<row;++i) {
for(int j=0;j<col;++j) {
if(*(a+i*col+j)>maxn) {
maxn = *(a+i*col+j);
max_i = i;
max_j = j;
}
}
}
*index = max_i * col + max_j;
return maxn;
}
```
使用方法:
```C++
int a[3][4];
read(&a[0][0],3,4); // 读入元素
int index;
int maxn = max(&a[0][0],3,4,&index);
cout<<maxn<<" "<<index<<endl; // 输出数组的最大值及其下标
```
阅读全文