提问人:FrodobabboDev 提问时间:11/15/2023 更新时间:11/15/2023 访问量:84
如何使 for 循环不迭代整个数组,而只迭代指定的索引 [closed]
How to make for loop not iterate entire array but only specified index [closed]
问:
我是编程新手,目前正在学习 C++,这是我的代码
switch (userEditChoice)
{
case 1:
std::cout << "Item to remove (1-5): ";
std::cin >> removedItem;
std::cout << " Item to add: ";
std::cin >> itemAdded;
for (int i = removedItem; i < amazonSize; i++)
{
amazon[i] = itemAdded;
}
break;
}
}
我的程序可以工作,但不是只更改数组中的第一个值,而是更改第一个值和其余值。如何让它只更改第一个并保持其余部分不变?提前致谢!
我试着搞砸 i++,但是当我把它拿出来或搞砸它时,一旦我到达它,我的程序就结束了。
答:
0赞
Kevin Yang
11/15/2023
#1
假设您的数组是一个 STL 容器,例如 /。
如果要将 item removedItem(index) 更改为 itemAdded,可以使用vector
list
amazon[i] = itemAdded;
而不是
for (int i = removedItem; i < amazonSize; i++)
{
amazon[i] = itemAdded;
}
对于循环的含义,它正在检查 removedItem(index) 中的所有项目,但您只想修改一个。for
评论
1赞
Yunnosch
11/15/2023
这缺少 的定义。此外,您可能还想改写“removedItem(index)”,至少我不明白您的意思,可能是“索引处的项目存储在”中。然而,我怀疑标识符“removedItem”表明该代码被不恰当地改编为删除项目的函数,这在数组中比覆盖现有项目要困难得多。在回答之前,这需要 OP 的澄清,因为代码的其余部分暗示这实际上是他们的目标——这就是问题关闭的原因。i
removedItem
评论
amazon[removedItem] = itemAdd;
amazon
std::vector
std::array