#include<iostream>
#include<ctime> //srand的头文件
#include<stdlib.h>
#include<iomanip>
using namespace std;
int main()
{
void Transport(int(*p)[5],int,int); //声明转置函数
void output(int(*p)[5],int,int); //声明输出函数
int(*p)[5]; //定义有5个元素的指针变量
int array[5][5]; //定义5*5数组
int r=5;
int c=5;
srand((unsigned)time(NULL)); //随机函数让每次编译都输出不同的随机数值
for(int r=0;r<5;r++) //初始化5*5随机矩阵
{
for(int c=0;c<5;c++)
{
array[r][c]=rand(); //用随机值初始化数组
}
}
output(array,r,c);
cout<<endl;
Transport(array,r,c); //引用转置函数
output(array,r,c);
return 0;
}
void Transport(int (*p)[5],int r,int c) //定义转置函数
{
int i,j;
for(i=0;i<r;i++)
{
for(j=i+1;j<c;j++)
{
swap(*(*(p+i)+j),*(*(p+j)+i)); //交换函数交换数字
}
}
}
void output(int(*p)[5],int r,int c) //定义输出函数输出数组
{
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
cout<<*(*(p+i)+j);
cout<<'\t';
if(j==4)
cout<<endl;
}
}
}
该用到了随机函数和指针,随机函数用于初始化数组,将指针作为函数的参数,传给实现转置的函数。