C++中,怎样用函数输入一个二维数组,急急!

如题所述

#include <iostream>
using namespace std;
void input(int *arr, int m, int n) // m和n分别为二维数组的行和列
{
for (int i = 0; i < m; i ++)
for (int j = 0; j < n; j ++)
cin >> arr[i * n + j];
}
int main( )
{
int a [3][4];
input(&a[0][0], 3, 4);// 使用示意
}追问

#include
using namespace std;
void input(int,int,int); // m和n分别为二维数组的行和列

int main()
{
int a [3][4];
input(&a[0][0], 3, 4);// 使用示意

return 0;
}
void input(int *arr, int m, int n)
{
for (int i = 0; i > arr[i * n + j];
}
我把你那钟改成这样为什么不对啊?请大侠赐教

追答

你的第一个参数类型错了,其实你复制我写的粘贴就可以了

追问

呵呵,我知道,可我们要求把函数写下面,我再问一下 cin >> arr[i * n + j]; 中的 arr[i * n + j]是什么意思啊?可不可以改成cin >> arr[m][n]形式的?

追答

不行,因为传递的是指针,不是数组指针,如果用数组指针的话,程序就没有通用性了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-11
你的input函数第一个参数写错了
应该是 int*吧?追问

我再问一下 cin >> arr[i * n + j]; 中的 arr[i * n + j]是什么意思啊?可不可以改成cin >> arr[m][n]形式的?