簡體   English   中英

C ++-將新值添加到int數組

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM