C++ 分而治之的算法问题
C++ Divide and conquer algorithm problems
我刚刚了解了分而治之算法,我对此有点困惑。问题是我的家庭作业,我已经尝试了很多方法来修复我的代码,但它没有运行。
#include <iostream>
using namespace std;
void inputArray(int* a, int& n)
{
cout << "Input n:";
cin >> n;
for (int i = 0; i < n; i++)
{
cout << "input a[" << i << "]= ";
cin >> a[i];
}
}
int sumeven(int* a, int l, int r)
{
if (l == r && a[l] % 2 == 0)
{
return a[l];
}
int mid = (l + r) / 2;
int s1 = sumeven(a, l, mid);
int s2 = sumeven(a, mid + 1, r);
return s1 + s2;
}
int main()
{
int n;
int a[20];
inputArray(a, n);
cout<<sumeven(a, 0,n-1);
return 0;
}
尝试在没有用户输入的情况下测试程序:
#include <iostream>
using namespace std;
int sumeven(int* a, int l, int r)
{
if (r >= 6) return 0;
if (l > r ) return 0;
if (l >= r)
{
if (a[l] % 2 == 0)
{
return a[l];
}
else
{
return 0;
}
}
int mid = (l + r) / 2;
int s1 = sumeven(a, l, mid);
int s2 = sumeven(a, mid + 1, r);
return s1 + s2;
}
int main()
{
int n=6;
int a[6]={1,2,3,48,5,6};
cout<<sumeven(a,0,n-1);
return 0;
}
相关文章:
- 算法问题:查找从堆栈中弹出的所有序列
- 到连接组件算法的问题(递归)
- 读取最后一行代码算法 - c++ 时出现问题
- 需要为 C++ 中的以下问题设计递归算法
- 我的C++语言蛮力算法有问题
- Coursera DSA 算法工具箱第 4 周第 2 个问题 - 分区纪念品
- 排序算法问题(购买商店物品)(崩溃)
- C++ 分而治之的算法问题
- 我对 std::unique(算法)C++有问题
- 对于这个问题,是否有更好的数据结构和算法选择
- 迭代快速排序方法的分区算法问题
- 这种快速排序算法有什么问题?
- 不确定我的排序算法出了什么问题
- 我的算法在 1D 数组中渲染矩形有什么问题
- 带有 std::vector 和 std::queue 的 Prim's 算法,我的代码有什么问题?
- 我的记忆动态规划算法有什么问题?
- 运行Dijkstra算法的问题
- 关于合并两个列表的算法的一些问题
- 函数以相反的顺序输出输入问题,并改进算法以解释相等的数字
- 分类算法和对象指针的问题