二维数组上的乘法 table

multiplication table on two dimensional array

我对二维数组进行了乘法运算 table,但我也想更改此代码并在我为 ex.

输入的 5 个值上进行运算

我会输入:

   2.5 3.0 4.6 6.3 8.1
2.5
3.0
4.6
6.3
8.1

它会乘以 2.5 * 2.5 等等

int tab[5][5];
    for(int i=1; i<=5; i++)
    {
        for(int y=1; y<=5; y++)
        {
            tab[i-1][y-1]=i*y;
            cout << tab[i-1][y-1] << " | ";
        }
        cout << endl;
    }

关于如何执行此操作的任何提示?

好的,现在假设此二维数组始终为正方形,并且列值与行值相同(如您在示例中所示)。

您需要存储我们要相乘的这些值。 我们称该值数组为 x.

您无需对当前代码进行太多更改,但我们想要 x[i] * x[y] 而不是 i*y注意:您不能从 1 开始循环,从零开始 iy。此外,您还需要在索引 tab[i][y]

时去掉“-1”

哦,我差点忘了。如果要使用小数,则不能使用 int。请改用 float。您可能需要使用我将在下面展示的一些技巧将它们四舍五入为小数点后一位:

float tab[5][5];
float x[5]; // You will have to give x the 5 values that you want to multiply
for(int i=0; i<=4; i++)
{
    for(int y=0; y<=4; y++)
    {
        tab[i][y] = x[i] * x[y]; // This can have many decimals!
        tab[i][y] = roundf(tab[i][y] * 10) / 10; // This will multiply with 10 to shift the number 1 decimal place, then we round it to zero decimals, then we divide it with 10, to add 1 decimal. You can change to 100 if you want 2 decimals
        cout << tab[i][y] << " | ";
    }
    cout << endl;
}

希望对您有所帮助!^_^