矩阵的幂c语言中文网,矩阵的幂演算

矩阵的幂运算

定义的那个矩阵幂运算的递归函数似乎不能正确递归,想了半天也不知问题出在何处,望各位大哥予以指点,在此谢谢了!

代码:

#include "stdafx.h"

#include

#include

using namespace std;

#define N 6

struct matrix

{

int t[N][N];

};

matrix w,ee,a;

matrix mi(matrix a,int nn)

{

int i,j;

int kk;

if(1==nn)

return w;

for(i=1;i

for(j=1;j

for(kk=1;kk

ee.t[i][j]+=w.t[i][kk]*a.t[kk][j];

for(i=1;i

for(j=1;j

w.t[i][j]=ee.t[i][j];

return mi(w,--nn);

}

int _tmain(int argc, _TCHAR* argv[])

{

matrix result;

int i,j;int k,l,step;

int p,q;

for(i=1;i<=N;++i)       //输入前的矩阵清零

for(j=1;j<=N;j++)

a.t[i][j]=0;

while(scanf_s("%d %d",&p,&q))   // 图的输入  以 0 0 标志结束输入

{

if((p==0)&&(q==0))

break;

else

a.t[p][q]=a.t[q][p]=1;

}

for(i=1;i

for(j=1;j

w.t[i][j]=a.t[i][j];

for(i=1;i

{

for(j=1;j

printf("%d ",a.t[i][j]);printf("\n");

}

while(1)

{

printf("k to l in s steps \n such as k l steps\n");

cin>>k>>l>>step;

result=mi(a,step);

printf("there %d paths for %d to %d .\n",result.t[k][l],k,l);

for(i=1;i

{

for(j=1;j

printf("%d ",w.t[i][j]);printf("\n");

}

}

return 0;

}

递归

C

矩阵

struct

分享到:

------解决方案--------------------

“给定一个小点的输入,完整单步跟踪(同时按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史)一遍。”是理解递归函数工作原理的不二法门!

递归函数关注以下几个因素

·退出条件

·参数有哪些

·返回值是什么

·局部变量有哪些

·全局变量有哪些

·何时输出

·会不会导致堆栈溢出

------解决方案--------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值