gpt4 book ai didi

c - 用于矩阵和双指针

转载 作者:行者123 更新时间:2023-11-30 16:27:41 25 4
gpt4 key购买 nike

方阵的大小作为标准输入输入(输入值的范围是 2 到 10)。创建一个程序来打印输入大小的单位矩阵。

单位矩阵是从左上到右下对角线(主对角线)为1,其他都为0的矩阵。

例如)输入:5

结果:

1 0 0 0 0\n
0 1 0 0 0\n
0 0 1 0 0\n
0 0 0 1 0\n
0 0 0 0 1\n

我的代码:

int main(){
int n;


scanf("%d", &n);

int **matrix = malloc(sizeof(int *) * n);

for (int i = 0; i < n; i++)
{
matrix[i] = malloc(sizeof(int) * n);
memset(matrix[i], 0, sizeof(int) * n);
}

for (int i = 0; i < n; i++)
{
matrix[i][i] = 1;
printf("%d ", matrix[i][i]);
}
printf("\n");



for (int i = 0; i < n; i++)
{
free(matrix[i]);


}

free(matrix);

return 0;
}

..错误是什么?

最佳答案

您需要一个双循环来打印输出:

for (int i = 0; i < n; i++)
{
matrix[i][i] = 1; // set identity
}

for (int j=0; j<n; j++)
{
for (int i = 0; i < n; i++)
{
printf("%d ", matrix[j][i]);
}
printf("\n");
}

关于c - 用于矩阵和双指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52680155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com