gpt4 book ai didi

c++ - 乘以二维数组中的元素

转载 作者:行者123 更新时间:2023-11-28 04:54:54 25 4
gpt4 key购买 nike

我的程序的最后一行有问题。我不知道如何将最后一行乘以程序中的第一行。乘法表通过将第一行乘以第二行,将第二行乘以第三行,依此类推。

    int main() {
int temp;
const int row = 10;
const int col = 5;
int arr[row][col];
int arr2[10][5];

srand(((unsigned)time(0)));

cout << "Original" << endl;

for (int i = 0; i<10; i++) {
for (int j = 0; j<5; j++) {
temp = 1 + rand() % 99;
arr[i][j] = temp;
int arr2 = arr[i][j];
cout << setw(4) << arr2<< setw(5) << " | ";

}
cout << endl;
}

cout << "\n\nMultiplied rows" << endl;

for (int i = 0; i<row; i++) {
for (int j = 0; j < col; j++) {
if (i < 9)
arr[i][j] *= arr[i + 1][j];
else if (i == 9)

cout << setw(4) << arr[i][j]<< setw(5) << " | ";
}
cout << endl;
}

return 0;
}

(这是我遇到问题的最后一个 else 语句)我试过 arr[i][j]=arr[1][i]*arr[9][j]但这没有用

最佳答案

首先,回答您的问题。你不能真正将最后一行与第一行相乘,因为你已经在 arr[i][j] *= arr[i + 1][j]; 时覆盖了它。为 i = 0 和 j = 0 到 9 执行的行

天真的解决方案是将相乘后的数字存储在一个新数组中,或者不覆盖旧数组而只打印计算值。即使这样,您也必须进行其他修复,但我不会真的为您做功课。

仅供引用,如果您将其交给讲师,他们会指出许多问题,例如您定义了 const int row 和 col 但您只使用了一次。您应该只使用这些变量;因此,不要键入 10、5 和 9 之类的内容,而应键入 row、col、row -1。

此外,第一个 arr2 变量未被使用,循环中的变量很可能不存在,您的代码将是 cout << setw(4) << arr[i][j]<< setw(5) << " | ";我可以继续,但我会让你找到其余的......祝你好运。

关于c++ - 乘以二维数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47388269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com