首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组中每个元素的函数结果之和

数组中每个元素的函数结果之和
EN

Stack Overflow用户
提问于 2015-05-11 02:01:08
回答 2查看 72关注 0票数 2

我想要创建一个数组,其中每个元素总结一个函数“CosineEffect”的结果。例如,如果"heliostatNumber“为3,则”余弦“数组中的每个元素都应该是funcion"CosineEffect”的三个结果的总和。

但是当我把结果打印出来时,它们似乎没有加起来。相反,每个元素只是一个结果的值,而不是三个结果的值。

代码语言:javascript
复制
float Cosine[10];

    for(int i=0;i<11;i++)
    {
        float sum=0;
        for(int j=0; j<heliostatNumber;j++)
        {
            Cosine[i]=sum+CosineEffect(SunRay[i], ReflectedRay[j]);
        }
        cout<<"Cosine Effect = "<<Cosine[i]<<endl;
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-11 02:13:05

试着检查代码,并在每个步骤中考虑每个变量的值。

特别是,看看sum

代码语言:javascript
复制
float sum = 0;
for(int j=0; j < heliostatNumber; j++)
{
    sum = sum + CosineEffect(SunRay[i], ReflectedRay[j]);
}

Cosine[i] = sum;
票数 1
EN

Stack Overflow用户

发布于 2015-05-11 02:14:19

如果没有剩下的代码,很难分辨出确切的问题,但正如我所看到的,问题在这一行中。

代码语言:javascript
复制
Cosine[i]=sum+CosineEffect(SunRay[i], ReflectedRay[j])

它应该是

代码语言:javascript
复制
Cosine[i]+=CosineEffect(SunRay[i], ReflectedRay[j])

代码中不修改sum变量,它始终是0

如果您需要在代码中的其他地方使用sum,您应该这样做

代码语言:javascript
复制
 sum += CosineEffect(SunRay[i], ReflectedRay[j]);
 Cosine[i] = sum;

另外,for循环中的条件应该是10而不是11,因为您有10个元素的数组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30158642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档