C ++ 数组 | 多维数组(MultiDimensional Arrays)_2

多维数组(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] 。其实就是向量的乘法运算!~

其他代码眼神训练一下即可。


编程是一种美德,是促使一个人不断向上发展的一种原动力。

猜你喜欢

转载自blog.csdn.net/sw3300255/article/details/84872629