C++二维数组值增加

C++ Two Dimensional Array Value Increase

本文关键字:增加 二维数组 C++      更新时间:2023-10-16

我想为课堂完成这个程序。当谈到数组时,我迷失了方向,我已经阅读了所有的课程作业、书籍等。问题是如何在这个位置增加二维数组元素?

    int main()
{
 int quantity, warehouse, product;
int inventory[4][5] = {
{900,400,250,95,153},
{52, 95, 625, 44, 250},
{100,720,301,50,878},
{325,650,57,445,584},
};
cout << "Enter the warehouse number between 1 and 4: " << endl;
cin >> warehouse;
cout << "Enter the product location between 1 and 5: " << endl;
cin >> product;
cout << "Enter the quantity delivered: " << endl;
cin >> quantity;        
 /* First the addition */
for(warehouse = 0; warehouse < 4; warehouse++)
for(product = 0; product < 5; product++)
inventory[warehouse][product] + quantity;
cout << "The amount of units in warehouse " << warehouse << " is nn";

/* Then print the results */
for(warehouse = 0; warehouse < 4; warehouse++ ) {
                for( product = 0; product < 5; product++ )
                    cout << "t" <<  inventory[warehouse][product];
                cout << endl;   /* at end of each warehouse */
}
 return 0;
}
for(warehouse = 0; warehouse < 4; warehouse++)
for(product = 0; product < 5; product++)
inventory[warehouse][product] + quantity;

您根本不需要像这样对数组进行迭代。去掉那些for循环。CCD_ 2和CCD_ 3的值由用户输入。您只需访问元素-相应的元素并添加到其中:

inventory[warehouse][product] += quantity;

注意+=的使用。这实际上修改了数组中的值,而不仅仅是取该值并将quantity添加到其中

接下来,您似乎只想打印出与warehouse对应的仓库的库存。要做到这一点,您不应该对所有仓库进行迭代,而应该只对产品进行迭代:

for( product = 0; product < 5; product++ ) {
  cout << "t" <<  inventory[warehouse][product];
}

这里的教训是,如果您需要对某些元素中的每一个元素执行某些操作,则只需要对它们进行迭代。在第一种情况下,您只需要向一个元素添加一个值,因此不需要迭代。在第二种情况下,您需要打印出一行元素,因此您必须仅对该行进行迭代。

后的前两行

/* First the Addition */

是不成功的,似乎您试图在数组中循环以获得要更改的索引。这是没有必要的。

inventory[warehouse][product] += quantity;

就是让程序正确运行所需的全部内容。它将把用户指定的数量添加到用户指定的索引中。

inventory[warehouse][product] + quantity;

应该是

inventory[warehouse][product] += quantity;
//                            ^^

+只返回加法,不修改任何操作数。CCD_ 8与CCD_。

这里也不需要for循环。已经给出了值。