计蒜客之矩阵翻转

今天做矩阵翻转这个题,想着把一个矩阵i,j交换位置就可以了,然后就直接写了,然后就是过不去,然后百度其他人的博客啥的,发现他们有写的是新加一个数组然后往里面读数,然后试了一下他们的可以过,然后觉得自己也没有错,后来想了好久加百度,没有考虑矩阵行数和列数是奇数的情况,所以一直错,以后做题一定要考虑的更加全面一点,然后通过的代码如下:
#include
#include
using namespace std;
int main()
{
	int a[200][200] = {0};
	int M, N, T;
	cin >> M >> N >> T;   //M表示行,N表示列,T=1时上下翻转,0时左右翻转
	for (int i = 0; i < M; i++)
	{
		for (int j = 0; j < N; j++)
		{
			cin >> a[i][j];
		}
	}
	int temp = 0;
	if (T == 0)
	{
		for (int j = 0; j <=(N-1)/ 2; j++)
		{
			for (int i = 0; i< M; i++)
			{
				temp = a[i][j];
				a[i][j] = a[i][N - j - 1];
				a[i][N - j - 1] = temp;
			}
		}

	}
	else if (T == 1)
	{
		for (int i = 0; i <= (M -1)/ 2; i++)
		{
			for (int j = 0; j 

你可能感兴趣的:(计蒜客)