C语言(指针): 编写一个函数实现n*n矩阵转置。在主函数中用scanf输入矩阵元素;将数组名作为函数实参。

如题所述

无其他回答

C语言(指针): 编写一个函数实现n*n矩阵转置。在主函数中用scanf输入...
这个函数的局限只限于方阵。也只能对上三角元素操作,是因为a[][]数组本身空间的限制,如果采用指针的话:令p=a;其他注意是对内容**p之类操作即可。不过如果采用引入矩阵b来操作可以完美解决上述问题:void fun( float a[][],float b[][]){ int i,j;for(i=0;a[i][0];i++)for(j=0;a[i][j];j++)...

编写函数,利用指针数组实现一个n*n矩阵(或行列式)的转置。
include<stdio.h>#define N 100int main(){ int a[N][N]; int* ptr_a[N][N]; int n,i,j,temp; scanf("%d",&n);\/\/输入矩阵的大小n*n 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...

设计一个函数,将任意n×n的矩阵转置,并在主函数中调用此函数实现n×...
要取地址:scanf("%d",&a[i][j]);下面的专治算法也有问题,p q没有初值,而且那个while循环也没什么用,用for就够了。。。

...设计一个函数,将任意n×n的矩阵转置,并在主函数中调用此函数将一个4...
你写成了for (i=0; j<n ;++j)还有 转置不是b[j][i]么?

用C语言编写一个矩阵转置的函数,矩阵的行数和列数在程序中由用户输入...
int row,clo,**nList=NULL,**nListSave=NULL; printf("输入矩阵行列数:"); scanf("%d%d",&row,&clo); nList=getList(row,clo); setNum(nList,row*clo); printf("输入的矩阵为:\\n"); prtList(nList,row,clo); printf("转置后的矩阵为:\\n")...

编写一个函数,使给定的一个n*n矩阵转置,即行列互换。
include <stdio.h>#include <stdlib.h>void input(int **p,int m,int n) {int i,j;printf("请输入数组%d×%d:\\n",m,n);for(i = 0;i < m;i++)for(j = 0;j < n;j++)scanf("%d",&p[i][j]);}void output1(int **p,int m,int n) {int i,j;for(i = 0;i < ...

c语言编程题,编写一个函数,实现n阶方阵的转置(即行列互换)急急急...
int main(){ int a[3][3]={1,2,3,4,5,6,7,8,9};int j,i,temp;for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);for(i=1;i<2;i++)for(j=0;j<=i;j++){ temp=a[i][j];a[i][j]=a[j][i];a[j][i]=temp;} for(i=0;i<3;i++)f...

编写函数将一个n*n矩阵转置,要求在同一个数组中完成,
int a[4][4]={{1,2,3,4},{5,6,7,8},{3,2,5,9},{4,7,2,3}};int i,j,t;printf("原来的数组:\\n");for(i=0;i<4;i++){ for(j=0;j<4;j++)printf("%d ",a[i][j]);printf("\\n");} for(i=0;i<3;i++)for(j=i+1;j<4;j++){t=a[i][j];a[i][...

c语言编程m行n列的矩阵转置
include<stdio.h> main(){ int a[4][4],b[4][4]; int i,j,m,n,k; printf("请为数组赋值:\\n"); for(i=0;i<4;i++) for(j=0;j<4;j++) scanf("%d",&a[i][j]); \/*输出a*\/ for(i=0;i<4;i++) { for(j=0;j<4;j++) printf("%3...

C语言利用指针求矩阵转置
void f(int m,int n,int *p){ int a[m][n],i,j;for(i=0;i<m;i++){ for(j=0;j<n;j++){ scanf("%d",p+i*n+j);} } for(i=0;i<m;i++){ for(j=0;j<n;j++){ printf("%d",*(p+i*n+j));} } printf("\\n");for(i=0;i<m;i++){ for(j=0;j<n;...

相似回答