我有一个由一组字符串元素组成的数组。我想收集一组元素,如下面的代码所示,并将这些元素的组放在另一个数组的新元素中。
考虑我想要收集值的数组是".", "-", ".",
我正在编写的程序解码摩尔斯电码,而不是重要,它只是意味着数组将以随机顺序重复出现值:
for (int n = 0; n < 100; n++)
{
if ((didah[n] == ".") || (didah[n] == "-"))
{
currentDidah = n;
//cout <<"first didah" <<currentDidah<<endl;
}
if ((didah[n]== "." || (didah[n]=="-") && (didah[n+1] == " ") && (didah[n+2] == " " )) )
{
lastDidah = n;
//cout <<"last didah" <<lastDidah;
}
while ((n>=currentDidah) && (n<lastDidah))
{// most likely infinite
valInBet += didah[n];
cout << valInBet << "WORKING"<< endl;
collection[n] = valInBet;
}
我已确定何时收集值以及何时停止。我知道的主要问题是while循环,它背后的逻辑是不正确的,因为最后的didah总是大于&#34; n&#34; (用于循环计数器)。
所有帮助表示感谢,提前感谢:)