我正在尝试创建一个显示某个矩阵的函数; 这就是我试图做的事情:
void print(int n,int a[n][n])
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cout<<a[i][j];
}
endl;
}
}
我知道这不正确,但我没有更好的主意。请帮帮我!
答案 0 :(得分:0)
我认为问题可能是您的i
和j
索引从1开始而不是零。
尝试以下内容:
int a[m][n];
for (int i=0; i<m; ++i){
for (int j=0; j<n; ++j){
cout << a[i][j];
}
cout << endl;
}
答案 1 :(得分:0)
void print(int array[][n],int n){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<array[i][j];
}
cout<<endl;
}
return ;
}
print(array,size)
答案 2 :(得分:0)
void print(int n, int a[n][n])
实际上转变为void print(int n, int a[][])
如果知道尺寸,您可以使用:
void print(int (&a)[42][42])
或以通用方式:
template <int N, int M>
void print(int (&a)[N][M])
{
for (int j = 0; j != M; ++j) {
for (int i = 0; i != N; ++i) {
std::cout << a[i][j] << " ";
}
std::cout << std::endl;
}
}
注意:索引从0(含)到N(不包括)。