多维数组(MultiDimensional Arrays)
C ++支持多维数组。 C ++数组可以是任何维度:1到 'n' 。
它们使用以下格式初始化:
typeOfVariable arrayName[size of dim.1][size of dim. 2] ...[size of dim. n];
例如:
int array2Dimensions[2][3];
创建一个 [2行 x 3列] 整数数组。
在下面的程序中,我们创建一个2x3数组,然后打印出它的元素:
#include<iostream>
int main()
{
int array2Dim[2][3] = {0,1,2,3,4,5};
for(int i=0; i<2;i++)
for(int j=0;j<3;j++)
std::cout<<"array2Dim["<<i<<"]["<<j<<"] = " << array2Dim[i][j]<<"\n";
return 0;
}
运行结果:
代码很简单,用你的眼神来复习一下。
下面我来一个有点小难度的代码:
#include<iostream>
int main()
{
//array dimensions must be known at compile time
//so I used const int to set the row and col numbers
const int row = 4;
const int col = 4;
int arr[row][col];
int vector[row], product[row];
int sum;
//get the values for the array from the user
for(int i=0;i<row;i++)
for(int j=0;j<row;j++)
{
std::cout<<"arr["<<i<<"]["<<j<<"] = \n";
std::cin>>arr[i][j];
//std::cout<<"arr["<<i<<"]["<<j<<"] ="<<arr[i][j]<<"\n";
}
//getting the values for the vector from the user
for(int i=0; i<row; i++)
{
std::cout<<"vector["<<i<<"] = \n";
std::cin>>vector[i];
//std::cout<<"vector["<<i<<"] = "<<vector[i]<<"\n";
}
sum = 0;
for(int i=0;i<row;i++)
{
for(int j=0; j<row;j++)
{
sum = (arr[i][j] * vector[i]) + sum;
}
product[i] = sum;
sum=0;
}
for(int i=0;i<row;i++)
{
std::cout<<"product["<<i<<"] = "<<product[i]<<"\n";
}
return 0;
}
运行输入,直到 16,截图只是截到 5,向量我都输入2 :
运行结果:
重点代码解析:
for(int i=0;i<row;i++)
{
for(int j=0; j<row;j++)
{
sum = (arr[i][j] * vector[i]) + sum;
}
product[i] = sum;
sum=0;
}
以上代码是将数组 四行四列 的 每行的值乘以 向量( vector[i] ),再求这行的总和,再把这一行的总和赋值给 product[i] 。其实就是向量的乘法运算!~
其他代码眼神训练一下即可。
编程是一种美德,是促使一个人不断向上发展的一种原动力。