繁体   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