我有两个已知的数组 - 每个数组的元素都包含一个数字,所有数组都成为一个数字。我必须添加这两个数字并在同一设计中创建结果数组。
现在,我该如何添加这些数字?好吧,就像在堆栈中一样,我从这两个数组中取出第一个元素,添加它们,然后保存到结果[0]中。
然后我接受这两个数组的下一个第一个元素(我删除了之前的数组 - 从堆栈中取出),添加它们,然后放入结果数组的顶部。
如果发生溢出(x> 9),我擦除最后一位数字,并将其置于顶部。
这样我就能得到正确的结果。
在我向你解释我的酷项目之后,是时候了解实际的问题 - 如何为结果数组分配内存?
我的意思是,我真的不知道会有多少溢出(==我需要多少次放大结果数组),我不知道添加两个XX数字的结果是否会导致XXX或XX号等......
我长期以来一直在考虑这个问题,并且无法提出任何建议。好吧,也许除了分配像sizeof(int)* 999这样的东西以100%肯定:D ...
答案 0 :(得分:1)
由于您已标记此c++,我建议std::vector
和std::stack
。
溢出次数最多为数组中的位数。所以,对于c,我会说分配array1和array2加上1的最大值。