这是代码背后的动机。有一个男孩叫鲍勃,今天是他的生日。他邀请了 50 位朋友过来,但并非所有朋友都想给他买礼物。Bob 收到了 50 份礼物,尽管其中一些是空的。他的好朋友告诉他关闭每个第二个盒子。对于每三个盒子,他应该将每一个封闭的变为开放的,每一个开放的变为封闭的。他继续对每个 n 小于 50 的第 n 个盒子执行此操作。最后打开的盒子将有礼物。
这应该可以帮助我为我的数学课找出一个问题,但我不知道 C++ 编程的所有复杂方面。我希望我的字符串 getValue(vector &arr) 返回一个数组/向量。此代码无法编译,但它显示了我正在尝试做的事情。
#include <iostream>
#include <vector>
#include<algorithm>
using namespace std;
string getValue(vector<string> &arr);
int main()
{
vector<string> myArr(2);
vector<string> newArr(2);
for(int i=2; i <= 50; i++)
{
if(i%2==0)
{
myArr.push_back("close");
}
else
{
myArr.push_back("open");
}
}
newArr = getValue(myArr);
for(int i=2; i <=50; i++)
{
cout << i << " " << newArr[i] << endl;
}
}
string getValue(vector<string> &arr)
{
for(int i=2; i <=50; i++)
{
if(arr[i]=="close")
{
arr[i]="open";
}
else if(arr[i]=="open")
{
arr[i]="close";
}
}
return arr;
}