「已注销」 2022-04-14 01:03 采纳率: 100%
浏览 429
已结题

用C语言计算矩阵的n次幂

问题遇到的现象和发生背景

我是一个编程初学者。问题是:输入一个M行M列的矩阵A,并输入整数N,求出矩阵B,即A的N次幂
在我编写程序时并没有报错,但生成解决方案时显示无法解析的符号和命令

问题相关代码,请勿粘贴截图

#include<stdio.h>
int x, y, i, j, p, q;
int N, M, T, n;
int scan_init_m();
void print_targ_m();
int make_targ_m();

int main(void) {
scanf_s("%d\n%d\b%d\n", &T,&M,&N);
scan_init_m();
make_targ_m();
print_targ_m();
return 0;
}

int scan_init_m() { // 输入函数,输入initial_matrix (i,j)
int init_m[10][10] = {};
for (i = 0; i < M; i++) {
for (j = 0; j < M; j++) {
scanf_s("\b%d", &init_m[i][j]);
}
printf("\n");
}
return (init_m[M][M]);
}

void print_targ_m() { // 打印函数,打印target_matrix (x,y)
extern int targ_m[10][10];
for (x = 0; x < M; x++) {
for (y = 0; y < M; y++) {
printf("\b%d", targ_m[x][y]);
}
printf("\n");
}
}

int make_targ_m() { // 制作target_matrix
int curr_m[10][10] = {};
int targ_m[10][10] = {};
extern int init_m[10][10];

for (n = 0; n < N; n++) {                                            // 不包括N = 0 !!!
    if (n == 0) {
        for (x = 0, i = 0; p < M; x++, i++) {                
            for (y = 0, j = 0; y < M; y++, j++) {
                targ_m[x][y] = init_m[i][j];
            }
        }
    }
    else {                                                            // 制作current_matrix  (p,q)
        for (p = 0, x = 0; p < M; p++, x++) {                        // targ * init
            for (q = 0, j = 0; q < M; q++, j++) {
                for (y = 0, i = 0; y < M; y++, j++) {                // 计算current_matrix元素
                    curr_m[p][q] += targ_m[x][y] * init_m[i][j];
                }
            }
        }
    }
}
return targ_m[M][M];

}

运行结果及报错内容

img

我的解答思路和尝试过的方法

我尝试过改变函数的定义但还是不对

我想要达到的结果

希望能够解决问题,谢谢

  • 写回答

1条回答 默认 最新

  • 藏猊 2022-04-14 08:50
    关注

    img


    两个数组拿到外面来,程序中重复定义的注释掉.

    img


    然后

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月22日
  • 已采纳回答 4月14日
  • 创建了问题 4月14日

悬赏问题

  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题