| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 841 人关注过本帖
标题:[求助]这个程序有错,找不到原因
取消只看楼主 加入收藏
wolaixiazai
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-4-11
收藏
 问题点数:0 回复次数:2 
[求助]这个程序有错,找不到原因
程序运行输出时出错,本来应该输出一个非零值的,但是不知道为什么输出0,帮帮忙告诉我错在哪里,谢谢!
#include<stdio.h>
int m[6][6];
void MatrixChain(int *p,int n)
{ int i,j,k,r,t;
  for(i=1;i<=n;i++)m[i][i]=0;
  for(r=2;r<=n;r++)
  for(i=1;i<=n-r+1;i++)
     { j=i+r-1;
    m[i][j]=m[i+1][j]+p[i-1]*p[i]*p[j];
    for(k=i;k<j;k++)
      { t=m[i][k]+m[k+1][j]+p[i-1]*p[k]*p[j];
     if(t<m[i][j])m[i][j]=t;   
   }
      }
}
void main()
{ int p[]={30,35,15,5,10,20};
  MatrixChain(p,6);
  printf("最少需要 %d 次乘法\n",m[6][6]);
}
搜索更多相关主题的帖子: include 
2007-12-06 23:54
wolaixiazai
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-4-11
收藏
得分:0 
这个是用动态规划算法求矩阵连乘,m[i][j]表示最少数乘次数,先计算出m[i][i]=0,i=1,2,…,n,然后,再根据递归式,按矩阵链递增方式依次计算m[i][i+1],i=1,2,…,n-1,(矩阵链长度为2);m[i][i+2],i=1,2,…n-2,(矩阵链长度为3);….在计算m[i][j]时,只用到已计算出的m[i][k]和m[k+1][j].

本应输出15125的,但是程序输出的是0
2007-12-07 10:41
wolaixiazai
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-4-11
收藏
得分:0 
噢,是输出错了,应该输出m[1][6]
2007-12-07 12:13
快速回复:[求助]这个程序有错,找不到原因
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023824 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved