[英]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.