GreensnoWorld
记录点滴,分享乐趣,一块凝固的时间
1005.C++动态数组应用-矩阵转置
C/C++  2022年4月7日
#include <iostream>
using namespace std;

void MatrixTranspose(int **mx, int m, int n);
void printMatrix(int **mx, int m, int n);

int main()
{
	int m, n, i, j;
	int t;
	cout << "Please input m & n: ";
	cin >> m >> n;
	int **mx;
	mx = new int *[m];
	for(i=0; i<m; i++)
		mx[i] = new int[n];
	cout << "Please input matrix: " << endl;
	for(i=0; i<m; i++)
	{
		for(j=0; j<n; j++)
			cin >> *(*(mx+i)+j);
	}
	printMatrix(mx, m, n);
	MatrixTranspose(mx, m, n);
	for(i=0; i<m; i++)
		delete []mx[i];
	delete []mx;
}
void MatrixTranspose(int **mx, int m, int n)
{
	int **tmx;
	int i, j;
	tmx = new int *[n];
	for(i=0; i<n; i++)
	{
		tmx[i] = new int[m];
		for(j=0; j<m; j++)
			*(*(tmx+i)+j) = *(*(mx+j)+i);
	}
	printMatrix(tmx, n, m);
	for(i=0; i<n; i++)
		delete []tmx[i];
	delete []tmx;
}
void printMatrix(int **mx, int m, int n)
{
	int i, j;
	for(i=0; i<m; i++)
	{
		for(j=0; j<n; j++)
			cout << *(*(mx+i)+j) << ' ';
		cout << endl;
	}
}
LIJG
余本顽劣,生于紫云下,长于汝水滨。早年求学,兴趣广泛,好高骛远,学无所成,仓皇入世。兴趣所致,投身互联网,求知未证,而立已至,始悟光阴荏苒,终需务实钻研。故有此站,记录时光,积累点滴,验证所学,分享愚见。指舞方寸间,心系万千年。
留言