编写一个矩阵转置的函数,矩阵的行、列在程序中由用户输入

来源:百度知道 编辑:UC知道 时间:2024/06/20 15:39:41

用一维数组实现的,本身C语言就是用一维存储的二维数组,这个没有区别,
#include <iostream>
#include<stdio.h>
using namespace std;

void covatrix(int *mtrx,int *mtrx1,int n,int k);
int main()
{

int n,k;
int *mtrx;
int *mtrx1;
int i,j;
printf("输入矩阵行数\n");
scanf("%d",&n);
printf("输入矩阵列数:\n");
scanf("%d",&k);

printf("请输入矩阵元素\n");
mtrx=new int[n*k];//申请内存
mtrx1= new int[n*k];
for(i=0;i<n;i++)
for(j=0;j<k;j++)
{scanf("%d",&mtrx[i*k+j]);
}

covatrix(mtrx,mtrx1,n,k);
for(i=0;i<k;i++)
{ for(j=0;j<n;j++)
{printf("%d ",mtrx1[i*n+j]);//输出转置后的矩阵元素

}printf("\n");}

cin.get();
return 0;
}
void covatrix(int *mtrx,int *mtrx1,int n,int k)//n为原矩阵的列数,k为原矩阵的行数
{
int i,j;