c++ - 为类似于股票的整数相加分配内存

标签 c++ c

我有两个知道数组——每个数组的元素包含一个数字,它们都变成一个数字。我必须将这两个数字相加并在同一设计中创建结果数组。

现在,我该如何添加这些数字?好吧,就像在堆栈中一样,我从这两个数组中取出第一个元素,将它们相加,然后保存到,比方说 - outcome[0]。

然后我取出这两个数组的下一个第一个元素(我删除了前面的 - 从堆栈中取出),添加它们,并将它们放入结果数组的顶部。

如果发生溢出 (x > 9),我会删除最后一位,并将其放在顶部。

这样我应该得到正确的结果。


在我向您解释了我的酷项目之后,是时候开始真正的问题了——我如何为结果数组分配内存?

我的意思是,我真的不知道会有多少次溢出(==我必须扩大结果数组多少次),我不知道将两个XX数相加的结果是否会得到XXX或XX号等...

这个问题我想了很久,想不出来。好吧,也许除了分配像 sizeof(int)*999 这样的东西来确保 100% 确定 :D...

最佳答案

由于您已标记此 , 我建议 std::vectorstd::stack .

溢出的次数最多为数组中的位数。所以,对于 ,我会说分配 array1 和 array2 的最大大小加 1。

关于c++ - 为类似于股票的整数相加分配内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15982363/

相关文章:

C++ 获取 Process.GetCurrentProcess().SessionId

c++ - 如果我没有显式实例化 g++(使用 -fno-implicit-templates)从哪里获取模板定义?

c - Socket.io + C 套接字

c - 为什么 C 如此擅长处理 undefined variable ,但是当 var 缺乏初始化时,检查它是否不正确却可以正常进行?

c++ - 此代码如何在没有任何循环语句或 'goto' 或递归的情况下循环?

c++ - V8,将文本 append 到数组的最后一个元素

c++ - 无法打开包含文件 : 'dxgi1_2.h' : No such file or directory

c++ - 动态创建数组 - 无法推断 'T' 的模板参数 - C++

c - 为什么线程被称为轻量级进程?

c++ - 使用 socket recv 函数读取 stdin 上的流