向量返回/加法算法的问题
Problems with vector return/addition algorithm
vector<int> add_vectors(const vector<int> &first, const vector<int> &second){
vector<int> result;
int length = 0;
int carry = 0;
int firsts_size = first.size();
int seconds_size = second.size();
if (firsts_size >= seconds_size){
int length = firsts_size;
}
else{
int length = seconds_size;
}
for (int i = length - 1; i >= 0; i--){
int digit_sum = first[i] + second[i] + carry;
if (digit_sum > 9){
carry = ((digit_sum / 10) % 10);
}
result.push_back(digit_sum);
}
return result;
}
嘿,伙计们,你们都帮了我好几次了,我希望你们能再次为我做同样的事情。所以C++程序中这个函数的目的是从大数字中提取两个带数字的向量,然后把它们加在一起,最后创建一个向量,用函数返回的和。然而,我对此有一个问题,我不知道这是我实际添加的方式有问题,还是我以某种方式将它们打印出来。
我创建了另一个函数来获取由数字组成的矢量,并将其转换为字符串以打印输出,我知道这个函数很有效,因为它在我的整个程序中都很有效。所以我确信这个功能出了问题,导致我无法打印。然而,VisualStudio并没有从中抛出任何错误或任何东西,只是将输出的位置留空,这让我很困惑。非常感谢您的帮助!!记住一件事,因为这是我班上的第一个程序,所以我不能用任何太高级的东西来解决这个问题。感谢的帮助
我假设向量的位置I与10的(I-1)次方相关。
编辑:现在它也适用于不同大小的矢量
vector<int> add_vectors(const vector<int> &first, const vector<int> &second){
vector<int> result;
int length = 0;
int carry = 0;
int firsts_size = first.size();
int seconds_size = second.size();
int digit_sum = 0;
if (firsts_size >= seconds_size){
length = firsts_size; // int here is not necessary
}
else{
length = seconds_size; // int here is not necessary
}
for (int i = 0, i<lenght; i++){
if (i>=lenght){
if (i>=firsts_size){
digit_sum = second[i] + carry;
}
else{
digit_sum = first[i] + carry;
}
}
else{
digit_sum = first[i] + second[i] + carry;
}
if (digit_sum > 9){
carry = 1; // carry will be no mor than 1 adding two numbers
digit_sum = digit_sum - 10;
}
else{
carry = 0;
}
result.push_back(digit_sum);
}
if (carry > 0){
result.push_back(carry);
}
return result;
}
相关文章:
- 算法问题:查找从堆栈中弹出的所有序列
- 到连接组件算法的问题(递归)
- 读取最后一行代码算法 - c++ 时出现问题
- 需要为 C++ 中的以下问题设计递归算法
- 我的C++语言蛮力算法有问题
- Coursera DSA 算法工具箱第 4 周第 2 个问题 - 分区纪念品
- 排序算法问题(购买商店物品)(崩溃)
- C++ 分而治之的算法问题
- 我对 std::unique(算法)C++有问题
- 对于这个问题,是否有更好的数据结构和算法选择
- 迭代快速排序方法的分区算法问题
- 这种快速排序算法有什么问题?
- 不确定我的排序算法出了什么问题
- 我的算法在 1D 数组中渲染矩形有什么问题
- 虽然循环/算法问题c ++ visual studio 2012
- 反轴算法问题
- Dijkstra的算法问题[转贴]
- 神经网络与遗传算法问题
- 快速排序算法问题
- 排序算法问题-模板