【发布时间】:2018-05-26 17:23:07
【问题描述】:
如果
,则称两个量 u 和 v 成直角nuv = u1v1 + u2v2 + u3v3 + u4v4 +………… + unvn = 0
编写一个计算 u 和 v 是否成直角的函数。如果你愿意,你可以使用数组。该函数可以假设向量具有相同的维度(例如,n),但是这个数字应该作为参数传递给函数。
我的程序中有一些错误。我很感激一些帮助,因为我是初学者。错误告诉我:
在函数'void function(int*,int*)'
cpp 26:预期错误';'在“}”标记之前
cpp 29: 错误;赋值左操作数所需的值
#include <iostream>
using namespace std;
const int n = 5;
void function(int array[n],int array2[n]);
int main(){
int array[n] = {5, 3 , -4, 2, 8};
int array2[n] ={-7, -9, 5, 2, 9};
function(array, array2);
return 0;
}
void function(int array[n], int array2[n]){
int multiple;
for(int i=0; i <=5, i++)
{
(array[i]*array2[i]) + (array[i+1]*array2[i+1]) = multiple;
}
cout << multiple << endl;
}
【问题讨论】:
-
将多个初始化为零;然后是多个 += (..)
-
不要调用你的函数
function。将其命名为有意义的名称,例如DotProduct。 -
i <=5您访问的数组越界。
标签: c++ arrays pointers assignment-operator