24小时热门版块排行榜    

查看: 846  |  回复: 7
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

飘雪139

金虫 (初入文坛)

[交流] 【求助】c++编程,请高手帮我看看这个程序应该怎么写

程序中的公式为:
p[I][j]=(p[j]+p[i-1][j])/2;

s[I][j]=-2*miu*h*p[I][j]*p[I][j]*(1-p[I][j])/(4*dx*4*dx);

fw[i-1][j]=((k[j]+k[i-1][j])/2*v[I][j]+(k[j]+k[i-2][j])/2*v[I-1][j])/2;

fe[j]=((k[i+1][j]+k[j])/2*v[I+1][j]+(k[j]+k[i-1][j])/2*v[I][j])/2;

aw[I-1][j]=dw[i-1][j]+fw[i-1][j]/2;

ae[I+1][j]=de[j]-fe[j]/2;

在这个程序中包含i,j,I,J。我可以像下边这样写程序吗?

for(I=3;I<=m;I++)
    for(J=3;J<=n;J++)
        {
           for(i=2;i<=m;i++)
              for(j=2;j<=n;j++)
        {  
        p[I][j]=(p[j]+p[i-1][j])/2;

        s[I][j]=-2*miu*h*p[I][j]*p[I][j]*(1-p[I][j])/(4*dx*4*dx);

        fw[i-1][j]=((k[j]+k[i-1][j])/2*v[I][j]+(k[j]+k[i-2][j])/2*v[I-1][j])/2;

        fe[j]=((k[i+1][j]+k[j])/2*v[I+1][j]+(k[j]+k[i-1][j])/2*v[I][j])/2;

        aw[I-1][j]=dw[i-1][j]+fw[i-1][j]/2;

        ae[I+1][j]=de[j]-fe[j]/2;
                }
        }

[ Last edited by 飘雪139 on 2008-3-14 at 20:47 ]
回复此楼

» 猜你喜欢

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

sun20082002

木虫 (初入文坛)

网络不好,发重了,希望版主给删除一个。
先看一点点
for(I=3;I<=m;I++)
    for(J=3;J<=n;J++)
       {
          for(i=2;i<=m;i++)
        for(j=2;j<=n;j++)
        {  
        p[I][j]=(p[j]+p[i-1][j])/2;
……
        }
p[I][j] 的值最后都是 (p[m][n]+p[m-1][n])/2, 应该不对吧? 而且在第二次 ij 循环中计算多次。
p[I][j] 与 p[j] 的本质没变,还是同一个数组,你用 I 并不代表它会改变。
对于这样的循环 要不重新找一个数组存放数值,要不 只用 一个 i j 的循环,在内部处理好I 与i 的关系。

[ Last edited by sun20082002 on 2008-5-15 at 10:25 ]
7楼2008-05-15 10:17:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

yuxiaobo021


zzgyb(金币+1,VIP+0):谢谢您的参与,欢迎您常来计算模拟版解答问题。
楼主定义的k是一维数组还是二维数据?
怎么一会是k[j],一会儿又是k[i-1][j]。想不明白,怎么就人帮你呀!
2楼2008-03-15 08:53:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

飘雪139

金虫 (初入文坛)

是二维数组,上面的写错了,我在重新写一个
3楼2008-03-15 17:46:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

飘雪139

金虫 (初入文坛)

for(I=3;I<=m;I++)
    for(J=3;J<=n;J++)
       {
          for(i=2;i<=m;i++)
        for(j=2;j<=n;j++)
        {  
        p[I][j]=(p[j]+p[i-1][j])/2;
       s[I][j]=-2*miu*h*p[I][j]*p[I][j]*(1-p[I][j])/(4*dx*4*dx);
       dw[i-1][j]=miu*k[i-1][j]/dx;
        de[j]=miu*k[j]/dx;                          
        fw[i-1][j]=((k[j]+k[i-1][j])/2*v[I][j]+(k[j]+k[i-2][j])/2*v[I-1][j])/2;
fe[j]=((k[i+1][j]+k[j])/2*v[I+1][j]+(k[j]+k[i-1][j])/2*v[I][j])/2;               
       aw[I-1][j]=dw[i-1][j]+fw[i-1][j]/2;
       ae[I+1][j]=de[j]-fe[j]/2;
       au[I][j]=(k[j]+k[i-1][j])/2;       
}
}
4楼2008-03-15 17:54:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见