将一个二维数组的行和列元素互换,存到另一个二维数组中并求出最大值和最小值

将一个二维数组的行和列元素互换,存到另一个二维数组中并求出最大值和最小值

代码如下,如有帮助,请采纳一下,谢谢。

#include <stdio.h>
#include <stdlib.h>

int main()
{
	int m,n,i,j,max,min;
	int** p1;
	int** p2;
	printf("请输入二维数组的行和列数:");

	scanf("%d %d",&m,&n);
	p1 = new int*[m];
	p2 = new int*[n];

	for (i = 0; i < m; i++)
	{
		p1[i] = new int[n];
		for(j = 0;j < n; j++)
			scanf("%d",&p1[i][j]);
	}

	//交换行和列
	for (i = 0; i < n; i++)
	{
		p2[i] = new int[m];
		for(j = 0;j < m;j++)
			p2[i][j] = p1[j][i];
	}
	//求最大值和最小值
	max = p2[0][0];
	min = p2[0][0];
	printf("交换后:\n");
	for (i = 0; i < n; i++)
	{
		for(j = 0;j < m; j++)
		{
			printf("%d ",p2[i][j]);
			if(max < p2[i][j])
				max = p2[i][j];
			if(min > p2[i][j])
				min = p2[i][j];
		}
		printf("\n");
	}
	printf("最大值=%d,最小值=%d\n",max,min);
	

	return 0;
}