| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1261 人关注过本帖
标题:[原创]矩阵相乘问题
只看楼主 加入收藏
双云
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2004-11-1
收藏
 问题点数:0 回复次数:9 
[原创]矩阵相乘问题

矩阵相乘问题

[原创]矩阵相乘问题

#include<iostream.h> void ver_ver_mul(int *a,int *b,int &c,int d) { c=0; for(int i=0;i<d;i++) c+=a[i]*b[i]; }

void ver_mul_mul(int *a,int **b,int *c,int m,int n) { int *v=new int[m]; for(int j;j<n;j++) { for(int i;i<m;i++) v[i]=b[i][j]; ver_ver_mul(a,v,c[j],m); } } void main() { int a[2]={1,1}; int m=2,n=2; int **aa=new int*[m]; for(int i=0;i<n;i++) { aa[i]=new int[n]; } int c[2]; ver_mul_mul(a,aa,c,2,2); cout<<c[0]<<endl; cout<<c[1]<<endl; } 这个程序哪一点错了,请指教

[此贴子已经被作者于2005-4-29 22:26:12编辑过]

搜索更多相关主题的帖子: int 矩阵 ver 相乘 void 
2005-04-23 12:40
tary
Rank: 1
等 级:新手上路
帖 子:780
专家分:0
注 册:2004-10-5
收藏
得分:0 
你那个程序我一直就没看到输入的.

┌→¨ ≮我可以学会对你很冷落≯¨←┐ │  <却学不╓══╦══╖会将爱> │ │¨←┐ ╭╩╮哭‖哭╭╩╮ ┌→¨│ └──┘收 ╲╱ ◇‖◇ ╲╱回└──┘
2005-04-24 07:57
双云
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2004-11-1
收藏
得分:0 
你帮我输入一下,好吗?我实在是不会,帮一下了!!!!

2005-04-24 08:13
tary
Rank: 1
等 级:新手上路
帖 子:780
专家分:0
注 册:2004-10-5
收藏
得分:0 

我帮你编了个, 你试一下. #define ROW 3 #include<iostream> using namespace std; main() { int sm[ROW][ROW],rm[ROW][ROW],am[ROW][ROW],i,m,n; for(i=0;i<ROW;i++) for(j=0;j<ROW;j++) am[i][j]=0;

cout<<"input elements of the sm:"<<endl; for(i=0;i<ROW;i++) for(j=0;j<ROW;j++) cin>>sm[i][j]; cout<<"input elements of the rm:"<<endl; for(i=0;i<ROW;i++) for(j=0;j<ROW;j++) cin>>rm[i][j]; for(i=0;i<ROW;i++) {for(m=0;m<ROW;m++) for(n=0;n<ROW;n++) am[i][m]+=sm[m][n]*rm[n][m];}

for(i=0;i<ROW;i++) { cout<<'\n'<<endl; for(j=0;j<ROW;j++) cout<<am[i][j] <<endl; } }


┌→¨ ≮我可以学会对你很冷落≯¨←┐ │  <却学不╓══╦══╖会将爱> │ │¨←┐ ╭╩╮哭‖哭╭╩╮ ┌→¨│ └──┘收 ╲╱ ◇‖◇ ╲╱回└──┘
2005-04-26 08:25
牛虻
Rank: 1
等 级:新手上路
威 望:1
帖 子:472
专家分:0
注 册:2004-10-1
收藏
得分:0 
以下是引用tary在2005-4-26 8:25:11的发言:

我帮你编了个, 你试一下. #define ROW 3 #include<iostream> using namespace std; main() { int sm[ROW][ROW],rm[ROW][ROW],am[ROW][ROW],i,m,n; for(i=0;i<ROW;i++) for(j=0;j<ROW;j++) am[i][j]=0;

cout<<"input elements of the sm:"<<endl; for(i=0;i<ROW;i++) for(j=0;j<ROW;j++) cin>>sm[i][j]; cout<<"input elements of the rm:"<<endl; for(i=0;i<ROW;i++) for(j=0;j<ROW;j++) cin>>rm[i][j]; for(i=0;i<ROW;i++) {for(m=0;m<ROW;m++) for(n=0;n<ROW;n++) am[i][m]+=sm[m][n]*rm[n][m];}

for(i=0;i<ROW;i++) { cout<<'\n'<<endl; for(j=0;j<ROW;j++) cout<<am[i][j] <<endl; } }

喂小子,输出的时候是一竖一竖的,还没改就发上来啦,这么心急,起码也改得好看点嘛

[此贴子已经被作者于2005-4-26 17:01:06编辑过]


土冒
2005-04-26 16:59
tary
Rank: 1
等 级:新手上路
帖 子:780
专家分:0
注 册:2004-10-5
收藏
得分:0 
以下是引用tary在2005-4-26 8:25:11的发言: for(i=0;i<ROW;i++) {for(j=0;j<ROW;j++) cout<<am[i][j] <<endl; if(j/2!=0) cout<<"\n"; } }
同样的程序在TC中就可以编译出一行三个字的, 要在C++里面不行. 只有一竖, 每三个一个回车. 我怀疑是endl问题,哪位解答一下, 关注中.

┌→¨ ≮我可以学会对你很冷落≯¨←┐ │  <却学不╓══╦══╖会将爱> │ │¨←┐ ╭╩╮哭‖哭╭╩╮ ┌→¨│ └──┘收 ╲╱ ◇‖◇ ╲╱回└──┘
2005-04-26 23:19
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 
为什么你们写的矩阵相乘只有那么一点点  我写了好多哦

动于心而静如水
2005-04-27 14:52
tary
Rank: 1
等 级:新手上路
帖 子:780
专家分:0
注 册:2004-10-5
收藏
得分:0 
把代码发上来看看.

┌→¨ ≮我可以学会对你很冷落≯¨←┐ │  <却学不╓══╦══╖会将爱> │ │¨←┐ ╭╩╮哭‖哭╭╩╮ ┌→¨│ └──┘收 ╲╱ ◇‖◇ ╲╱回└──┘
2005-04-27 17:01
黑客
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2005-3-18
收藏
得分:0 

现在,我想说的是,版主,你改后的程序还有几处错误. 你是不是没上机调试过 啊?? 现在我把调试后的程序发在下面 并在你出错的地方注译. #define ROW 3 #include<iostream> using namespace std; void main() { int sm[ROW][ROW],rm[ROW][ROW],am[ROW][ROW],i,j,m,n;//在这里你要定j 啊. for(i=0;i<ROW;i++) for(j=0;j<ROW;j++) am[i][j]=0;

cout<<"input elements of the sm:"<<endl; for(i=0;i<ROW;i++) for(j=0;j<ROW;j++) cin>>sm[i][j]; cout<<"input elements of the rm:"<<endl; for(i=0;i<ROW;i++) for(j=0;j<ROW;j++) cin>>rm[i][j]; for(i=0;i<ROW;i++) { for(m=0;m<ROW;m++) for(n=0;n<ROW;n++) am[i][m]+=sm[i][n]*rm[n][m];//这里你错啦,按你的意思呢,只能有一行运算啊,所以结果都是相同的. }

for(i=0;i<ROW;i++) { cout<<endl; for(j=0;j<ROW;j++) cout<<am[i][j]<<' '; } } 末了,大哥你编写程序的时候能规范一点吗??


教父,已成为过去;谁来续写这段传说?-----我!
2005-04-27 23:05
kings169524
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-5-5
收藏
得分:0 
const m=3,n=4,k=2
void mul(int a[m][k],int b[k][n],int c[m][n])
{
    for(i =0;i&lt;m;i++)
    for(j=0;j&lt;n;j++)
    {
     c[i][j]=0
     for(s=0;s&lt;k;s++)
        c[i][j]+=a[i][s]*b[s][j];
     }
}
2005-05-06 14:31
快速回复:[原创]矩阵相乘问题
数据加载中...
 
   



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

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