| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 871 人关注过本帖
标题:求教一下这个问题用c语言怎么实现的
只看楼主 加入收藏
fsh19920121
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-1-31
结帖率:0
收藏
已结贴  问题点数:10 回复次数:8 
求教一下这个问题用c语言怎么实现的
矩阵P(2行3列)乘以 矩阵R(3行3列) 所得结果再 乘以 矩阵R,感谢解答!
搜索更多相关主题的帖子: c语言 
2017-01-31 18:14
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:4 
看上去像行列式~到底还是九九的数学基础不够~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-31 19:22
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:4 
勉强写了一个,测试的答案对的上,没做更多的测试。

程序代码:
#include <stdio.h>
int main(void)
{
int p[2][3]= {{1,2,3},{4,5,6}},
    r[3][3]= {{1,2,3},{4,5,6},{7,8,9}},
    c[2][3];
int count,n,m,i;
for(i = 0; i < 2; i++)
{
    for(m = 0; m < 3; m++)
    {
        for(n = 0,count = 0; n < 3; n++)
            count += p[i][n]*r[n][m];
        c[i][m] = count;
    }
}

for(i = 0; i < 2; i++)
{
    for(m = 0; m < 3; m++)
    {
        for(n = 0,count = 0; n < 3; n++)
            count += c[i][n]*r[n][m];
        p[i][m] = count;
    }
}

for(n = 0; n < 2; n++)
{
    for(m = 0; m < 3; m++)
       printf("%d ",p[n][m]);
    printf("\n");
}
return 0;
}


[此贴子已经被作者于2017-1-31 19:49编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-31 19:32
fsh19920121
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-1-31
收藏
得分:0 
回复 3楼 renkejun1942
感谢您的解答!
2017-02-01 21:24
fsh19920121
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-1-31
收藏
得分:0 
回复 3楼 renkejun1942
再请教一下如果重复乘的次数不止两次,为n的话,该怎么用for语句来实现呢?
2017-02-01 21:26
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:4 
while(n--)
{
    ...
}

早知做人那么辛苦!  当初不应该下凡
2017-02-01 21:39
fsh19920121
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-1-31
收藏
得分:0 
回复 6楼 炎天
谢谢您的回复!如果n已经被定义了,是不要换一个其他的参数?用while的话怎么控制停止从而得出结果?
2017-02-01 22:24
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:0 
先回答第一个问题,是的,要换其他参数。
你5楼想问得是不是 —— 重复输入计算  (矩阵P(2行3列)乘以 矩阵R(3行3列) 所得结果再 乘以 矩阵R)?
如果想重复5次
程序代码:
#include <stdio.h>

int main(void)
{
int p[2][3]= {{1,2,3},{4,5,6}},
    r[3][3]= {{1,2,3},{4,5,6},{7,8,9}},
    c[2][3];
int count,n,m,i;
int N = 5;
while(N--)
{

   for(i = 0; i < 2; i++)
   {
       for(m = 0; m < 3; m++)
       {
           for(n = 0,count = 0; n < 3; n++)
               count += p[i][n]*r[n][m];
           c[i][m] = count;
       }
   }

   for(i = 0; i < 2; i++)
   {
       for(m = 0; m < 3; m++)
       {
           for(n = 0,count = 0; n < 3; n++)
               count += c[i][n]*r[n][m];
           p[i][m] = count;
       }
   }

   for(n = 0; n < 2; n++)
   {
       for(m = 0; m < 3; m++)
          printf("%d ",p[n][m]);
       printf("\n");
   }
   return 0;
}


[此贴子已经被作者于2017-2-1 23:56编辑过]


早知做人那么辛苦!  当初不应该下凡
2017-02-01 22:35
fsh19920121
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-1-31
收藏
得分:0 
回复 8楼 炎天
谢谢了!
2017-02-01 23:44
快速回复:求教一下这个问题用c语言怎么实现的
数据加载中...
 
   



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

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