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

用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 数据库一张已排好序的表中,找出多次相邻的那些行
  • ¥50 关于DynamoRIO处理多线程程序时候的问题
  • ¥15 kubeadm部署k8s出错
  • ¥15 Abaqus打不开cae文件怎么办?
  • ¥20 双系统开机引导中windows系统消失问题?
  • ¥15 小程序准备上线,软件开发公司需要提供哪些资料给甲方
  • ¥15 关于生产日期批次退货退款,库存回退的问题
  • ¥15 手机应用的时间可以修改吗
  • ¥15 docker 运行OPEN-webui异常
  • ¥15 麒麟系统如何删除光盘刻录痕迹