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

用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日

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格