我有两个知道数组——每个数组的元素包含一个数字,它们都变成一个数字。我必须将这两个数字相加并在同一设计中创建结果数组。
现在,我该如何添加这些数字?好吧,就像在堆栈中一样,我从这两个数组中取出第一个元素,将它们相加,然后保存到,比方说 - outcome[0]。
然后我取出这两个数组的下一个第一个元素(我删除了前面的 - 从堆栈中取出),添加它们,并将它们放入结果数组的顶部。
如果发生溢出 (x > 9),我会删除最后一位,并将其放在顶部。
这样我应该得到正确的结果。
在我向您解释了我的酷项目之后,是时候开始真正的问题了——我如何为结果数组分配内存?
我的意思是,我真的不知道会有多少次溢出(==我必须扩大结果数组多少次),我不知道将两个XX数相加的结果是否会得到XXX或XX号等...
这个问题我想了很久,想不出来。好吧,也许除了分配像 sizeof(int)*999 这样的东西来确保 100% 确定 :D...
最佳答案
由于您已标记此 c++ , 我建议 std::vector
和 std::stack
.
溢出的次数最多为数组中的位数。所以,对于 c ,我会说分配 array1 和 array2 的最大大小加 1。
关于c++ - 为类似于股票的整数相加分配内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15982363/