天天看点

用c++编程实现(1)初始化一个矩阵A(5×5),元素值取自随机函数,并输出; (2)将此矩阵传递给函数,实现矩阵转置; (3)在主函数中输出结果。

#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;
			}
		}
}
           

该用到了随机函数和指针,随机函数用于初始化数组,将指针作为函数的参数,传给实现转置的函数。

继续阅读