| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2111 人关注过本帖
标题:矩阵的乘法~
取消只看楼主 加入收藏
六道
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2007-9-28
收藏
 问题点数:0 回复次数:3 
矩阵的乘法~

#include<iostream.h>
#include<iomanip.h>

int a[3][4]={{5,7,8,2},{-2,4,1,1},{1,2,3,4}};
int b[4][5]={{4,-2,3,3,9},{4,3,8,-1,2},{2,3,5,2,7},{1,0,6,3,4}};
int c[3][5];

int multimatrix(int a[][4],int arow,int acol,int b[][5],int brow,int bcol,int c[][5],int crow,int ccol);

void main()
{
if(multimatrix(a,3,4,b,4,5,c,3,5))
{
cout<<"illegal matrix multiply.\n";
return;
}

for(int i=0;i<3;i++)
{
for(int j=0;i<5;j++)
cout<<setw(5)<<c[i][j];
cout<<endl;
}
}

int multimatrix(int a[][4],int arow,int acol,int b[][5],int brow,int bcol,int c[][5],int crow,int ccol)
{
if(acol!=brow)return 1; //正确性检查
if(arow!=crow)return 1;
if(bcol!=ccol)return 1;

for(int i=0;i<crow;i++)
for(int j=0;i<ccol;j++)
for(int n=0;n<acol;n++)
c[i][j]+=a[i][n]*b[n][j];
return 0;
}

没错误,运行不出结果~帮忙看看~

另外问下:红色部分return;是跳出函数的意思吗?~

还有就是蓝色部分:
if(acol!=brow)return 1;
if(arow!=crow)return 1;
if(bcol!=ccol)return 1;
我觉得只要检查矩阵a和b就可以了,因为c此时还没出现,所以后2句不需要吧~

搜索更多相关主题的帖子: 乘法 矩阵 
2007-10-14 18:16
六道
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2007-9-28
收藏
得分:0 

哦 ,谢谢LS的~

程序运行还是没有结果~LX的有时间帮忙看看~


★孤独的人是可耻的★
2007-10-15 11:47
六道
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2007-9-28
收藏
得分:0 
以下是引用aipb2007在2007-10-15 13:21:21的发言:
mian函数里的return可以表示返回。

兰色部分检查也是必要的。

你的错误很幼稚并且是可以调试出来的。
for(int i=0;i<3;i++)
{
for(int j=0;i<5;j++)


for(int i=0;i<crow;i++)
for(int j=0;i<ccol;j++)


就是这两个地方,好好看看你的循环变量。

不好意思,自己也检查了很久,以后会仔细的


★孤独的人是可耻的★
2007-10-15 13:33
六道
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2007-9-28
收藏
得分:0 
以下是引用hhei在2007-10-15 14:22:10的发言:

强汗!!!!!!你的
for(int i=0;i<crow;i++)
for(int j=0;i<ccol;j++)
for(int n=0;n<acol;n++)
c[i][j]+=a[i][n]*b[n][j];
红色部分是个j吧,这样导致数组越界,当然出错了啊

别汗~~~擦把脸


★孤独的人是可耻的★
2007-10-16 13:44
快速回复:矩阵的乘法~
数据加载中...
 
   



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

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