[英]c++ - adding new values to an array of ints
在下面的代码中,我有一个对象数组-tArray。
我正在尝试查找拥有“总份额”前五名的“买方名称”,
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;
}
似乎您正在尝试一次仅查看一次交易就找到最大的总数。 您需要先汇总所有买家的总计。 然后,找到5个最高的总数很简单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.