用一个for循环打印出一个二维数组
#include<iostream>
#include<iomanip>
using std::cout;
using std::endl;
using std::setw;
int main()
{
void print2(int a[][3]);
void print1(int a[][3]);
int a[][3]={{1,2,3},{4,5,6},{7,8,9},{1,2,3}};
print2(a);
print1(a);
system("pause");
return 0;
}
void print2(int a[][3]) //两个for循环打印一个二维数组
{
const int rows=4;
const int cols=3;
for(int i=0;i<rows;i++)
{
for(int j=0;j<cols;j++)
cout<<setw(2)<<a[i][j];
cout<<endl;
}
}
void print1(int a[][3]) //一个for循环打印一个二维数组;
{
const int rows=4;
const int cols=3;
for(int i=0;i<rows*cols;i++)
cout<<setw(2)<<a[i/cols][i%cols];
}
分析:二维数组在内存中是默认是按照行存储的,则可以将二维数组array[rows][cols]看成一个一维数组,
i标识在一维数组中的位置,则array在二维数组中的行号和列号分别为[i/cols]、[i%cols]
- 上一篇:没有了
- 下一篇:没有了