匆匆而过的几天都在弄推箱子,
一个简单的游戏,弄了好几天。。。
今天把二维数组的介绍一下
二维数组 :
一类具有相同数据元素的行列集合;
二维数组的定义:
元素类型 数组名[行数][列数];(行数/列数:常量表达式)
一类具有相同数据元素的行列集合;
二维数组的定义:
元素类型 数组名[行数][列数];(行数/列数:常量表达式)
二维数组的内存:
1.内存大小:元素所占字节数*行数*列数
2.内存分布:
二维数组的初始化:
1.{{},{},{}},可以给部分元素赋值
2.{1,2,3,4,5,6}
按行存储
行数由大于赋值个数且最接近列数的倍数进行填充;
1.内存大小:元素所占字节数*行数*列数
2.内存分布:
二维数组的初始化:
1.{{},{},{}},可以给部分元素赋值
2.{1,2,3,4,5,6}
按行存储
行数由大于赋值个数且最接近列数的倍数进行填充;
一些简单的例子
int a[3][4] = { { 1, 3, 4 }, { 2, 5, 5 }, { 1, 6, 7,8 } };
/*int a[3][4] = { 1, 2, 3};
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
cout << a[i][j];
}
cout << endl;
}*/
杨辉三角
int a[10][10];
int i, j;
for (i = 0; i < 10; i++)//行数
{
for (j = 0; j <= i; j++)//列数
{
if (i == j || j==0)//下标行列相等或列为0值为1
{
a[i][j] = 1;
}
else
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];//等于上一个数加上前一个数的值
}
}
}
for (i = 0; i < 10; i++)
{
for (j = 0; j <=i; j++)
{
cout << a[i][j] << '\t';
}
cout << endl;
}
int a[5][6];
int i, j,k;
cout << "请输入一个两行三列的数:" << endl;
for (i = 0; i < 5; i++)
{
for (j = 0; j < 6; j++)
{
cin >> a[i][j];
}
}
for (i = 0; i<5; i++)
{
for (k = 1; k<=5; k++)//轮数
{
for (j = 0; j < 5; j++)//次数
{
if (a[i][j] > a[i][j + 1])//第i排中前一个和后面一个比较,大于他就交换位置
{
a[i][j] = a[i][j]^a[i][j + 1];
a[i][j + 1] = a[i][j]^a[i][j + 1];
a[i][j] = a[i][j]^a[i][j + 1];
}
}
}
}
//输出
for (i = 0; i < 5; i++)
{
for (j = 0; j < 6; j++)
{
cout << a[i][j] << '\t';
}
cout << endl;
}
return 0;
/*int a[3][4] = { 1, 2, 3};
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
cout << a[i][j];
}
cout << endl;
}*/
杨辉三角
int a[10][10];
int i, j;
for (i = 0; i < 10; i++)//行数
{
for (j = 0; j <= i; j++)//列数
{
if (i == j || j==0)//下标行列相等或列为0值为1
{
a[i][j] = 1;
}
else
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];//等于上一个数加上前一个数的值
}
}
}
for (i = 0; i < 10; i++)
{
for (j = 0; j <=i; j++)
{
cout << a[i][j] << '\t';
}
cout << endl;
}
int a[5][6];
int i, j,k;
cout << "请输入一个两行三列的数:" << endl;
for (i = 0; i < 5; i++)
{
for (j = 0; j < 6; j++)
{
cin >> a[i][j];
}
}
for (i = 0; i<5; i++)
{
for (k = 1; k<=5; k++)//轮数
{
for (j = 0; j < 5; j++)//次数
{
if (a[i][j] > a[i][j + 1])//第i排中前一个和后面一个比较,大于他就交换位置
{
a[i][j] = a[i][j]^a[i][j + 1];
a[i][j + 1] = a[i][j]^a[i][j + 1];
a[i][j] = a[i][j]^a[i][j + 1];
}
}
}
}
//输出
for (i = 0; i < 5; i++)
{
for (j = 0; j < 6; j++)
{
cout << a[i][j] << '\t';
}
cout << endl;
}
return 0;
好了,明天休息的时候终于可以整理了