编写函数,利用指针数组实现一个n*n矩阵(或行列式)的转置。

编写函数,利用指针数组实现一个n*n矩阵(或行列式)的转置。,第1张

楼主,不知道我有没有正确理解你的意思。试着写了下,你看看要的是不是这种效果:

123456789101112131415161718192021222324252627282930#include<stdioh>#define N 100int main(){ int a[N][N]; int ptr_a[N][N]; int n,i,j,temp; scanf("%d",&n);//输入矩阵的大小nn for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); for(i=0;i<n;i++) for(j=0;j<n;j++) ptr_a[i][j]=&a[i][j]; for(i=0;i<n;i++)//转置 for(j=0;j<i;j++) { temp=ptr_a[i][j]; ptr_a[i][j]=ptr_a[j][i]; ptr_a[j][i]=temp; } printf("转置后的结果:\n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%d ",a[i][j]); printf("\n"); } return 0;}

int a[][] = {{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4}};

        int b[][] = new int [4][7];

        for (int i = 0; i < 4; i++) {

            for (int j = 0; j < 7; j++) {

                b[i][j] = a[j][i];

            }

        }

        Systemoutprintln("矩阵a:");

        for (int i = 0; i < 7; i++) {

            for (int j = 0; j < 4; j++) {

                if (j < 3) {

                    Systemoutprint(a[i][j] + " ");

                } else {

                    Systemoutprintln(a[i][j] + " ");

                }

            }

        }

        Systemoutprintln("矩阵a转置:");

        for (int i = 0; i < 4; i++) {

            for (int j = 0; j < 7; j++) {

                if (j < 6) {

                    Systemoutprint(b[i][j] + " ");

                } else {

                    Systemoutprintln(b[i][j] + " ");

                }

            }

        }

代码写得烂不要喷我,我想解决思路就是这样吧!

以上就是关于编写函数,利用指针数组实现一个n*n矩阵(或行列式)的转置。全部的内容,包括:编写函数,利用指针数组实现一个n*n矩阵(或行列式)的转置。、如何用java编写一个矩阵的转置、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9807453.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存