24小时热门版块排行榜    

查看: 1228  |  回复: 6

wangjianbomake

金虫 (正式写手)


[交流] 【求助】请高手指点一下vc++的一部分程序,看看哪有错误,急急。。。。。。。。。。

高手帮我看一下,这个程序片段哪有错啊!
  void COper::CalculateObjectValue ()
   {
        int i,j,k,l;
        long temp;
        long temp1,temp2,temp3,temp4;
        double x1,x2,x3,x4;
        for(i=0;i         { for(j=0;j          { for(k=0;k           { for(l=0;l             {
                temp1=DecodeChromosome(population.chrom,0,LENGTH1);
                temp2=DecodeChromosome(population[j].chrom,0,LENGTH2);
                temp3=DecodeChromosome(population[k].chrom,0,LENGTH3);
                temp4=DecodeChromosome(population[l].chrom,0,LENGTH4);
                x1=0.247*temp1/31.0+0.03;
                x2=0.155*temp2/31.0+0.03;
                x3=0.124*temp3/31.0+0.01;
                x4=0.205*temp4/31.0+0.045;
                if((x1*x3)/(x2*x4)==0.52)
             {  temp=32625.5*(x3*x3-x1*x1)*sqrt*(x1)*pow(x4,1.75)*PI;
                temp=temp*(0.0000316*(0.11*pow(x3,1.5)+pow(x1,1.5))+0.00028125*x3*pow(x1,2.5)+0.29*pow(x1,4.5)*x3);
                temp=temp/sqrt(cos(2*PI*x3*pow(x1,0.5)/pow(0.075,0.5)));
                temp=temp/tan(PI*x1/(2*x4));
                temp=temp/pow(x3,0.5);
                temp=temp/(0.11*pow(x3,1.5)+pow(x1,1.5));
                temp=temp/(pow(x3,3)+0.018*x1*x4*x4-1.12*x1*x1*x4+4.736*x1*x1*x1);
                population.value=temp;
              }
             }
           }
          }
        }
       
   }

[ Last edited by 余泽成 on 2011-2-27 at 14:52 ]
回复此楼

» 猜你喜欢

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangjianbomake

金虫 (正式写手)


出现的错误是error C2297: '*' : illegal, right operand has type 'double (__cdecl *)(double)'
2楼2011-02-10 20:21:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
wangjianbomake(金币+1): 您好谢谢帮忙,可是我试了还是不行,希望您在帮我看看 2011-02-11 09:42:39
把什么3啊、4啊这些看起来是整数的,都写成3.0、4.0之类的就可以咯
3楼2011-02-10 22:19:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

stephenliu89

银虫 (小有名气)


我也来凑个热闹,好久没来论坛了
4楼2011-02-15 11:04:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)


★ ★
余泽成(金币+2): 谢谢参与应助,欢迎常来程序语言版! 2011-02-20 18:33:47
引用回帖:
Originally posted by wangjianbomake at 2011-02-10 20:13:54:
高手帮我看一下,这个程序片段哪有错啊!
  void COper::CalculateObjectValue ()
   {
        int i,j,k,l;
        long temp;
        long temp1,temp2,temp3,temp4;
        double x1,x2,x3,x4;
        for(i=0;i    ...

if((x1*x3)/(x2*x4)==0.52)
条件判断这样写不对吧。在机子内部这个条件估计很难满足。
5楼2011-02-15 19:13:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

peixuekai

新虫 (初入文坛)



是不是数据long和double转换中有问题?全部换成double或者long吧。
7楼2011-02-22 16:34:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
2011-02-15 20:15   回复  
相关版块跳转 我要订阅楼主 wangjianbomake 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见