【发布时间】:2020-05-02 16:33:45
【问题描述】:
我刚刚开始使用 c++,在算法课程中有一个伪代码,我已经尝试将它转换为 c++,但我失败了如何转换 c++ 任何线索都可以帮助我谢谢。
+关于乘法数组,这个数组的元素是 x 到 1 2 .... n 的常数,大小相同。 a1 和 b1 默认为零。
+ı 在 python 中轻松编写相同的代码,但 c++ ı 不知道如何破坏类型安全规则。
int* Mult2(int arr1[], int arr2[],int a1,int b1, int size)
{
int* R = new int[ 2* size - 1];
if ( size == 1 )
{
R[0] = arr1[a1] + arr2 [b1];
return R;
}
R = Mult2(arr1, arr2, a1, b1, size/2);
R = Mult2(arr1, arr2, a1+ size/2 , b1+ size/2 , size/2) ;
int* D0E1 = Mult2(arr1, arr2, a1, b1+size/2, size/2);
int* D1E0 = Mult2(arr1, arr2, a1+size/2 , b1, size/2);
R += D0E1 + D1E0;
return R;
}
错误:'int*' 和 'int*' 类型的无效操作数到二进制 'operator+' R += D0E1 + D1E0;
【问题讨论】:
-
错误信息很清楚:不能添加指针。
-
好的,谢谢
标签: list pointers divide-and-conquer