在下面的代码中,我有一个对象数组 - tArray。
我试图找到总“num 股”、
calctotal 和 calcstring 数组协同工作以存储买方及其总价值的“买方名称”。
但是,我在运行时已经单步执行了代码,并且我的代码本质上是替换循环中小于当前“numshares”的值。这意味着即使刚刚被替换的买家再次出现,他的总数也开始了新的并且没有添加,这是我想要的。
我将如何更改此代码,以便在发现较大值时将较小的值进一步推入数组而不被替换?
谢谢-我必须遵守解决问题(作业)的这种“格式”,因此实现功能是目标,因此我可以进步。
因此,基本上第二个 if 语句是问题所在:
for (int i = 0; i<nTransactions; i++)
{
//compares with arrays
for(int j =0; j<sSize; j++)
{
if(tArray[i].buyerName == calcString[j])
{
calcTotal[j] += tArray[i].numShares;
break;
}
else{
//checks if shares is great then current total then replaces
if(tArray[i].numShares > calcTotal[j])
{
calcTotal[j] = tArray[i].numShares;
calcString[j] = tArray[i].buyerName;
break;
}
}
}
}
return calcString;
}