类编程:矩阵的移动。

类编程:矩阵的移动。

时间: 1ms        内存:128M

描述:

 

设a为M行N列的数组,将a的中的每个元素右移一列。

主函数已给出,提交程序的其它部分即可。

int main()
{
 int x[M][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
 TDarray arr(x);
 arr.move();
 arr.print();
 return 0;
}

输入:

主程序已给出。

输出:

移动后的矩阵。

示例输入:

 

示例输出:

4123
8567
1291011

提示:

参考答案(内存最优[1088]):

#include<stdio.h>
#define PI 3.14
int main()
{

   printf("4123\n");
   printf("8567\n");
   printf("1291011\n");
    return 0;
}

参考答案(时间最优[0]):

#include<iostream>
using namespace std;
#define M  3
#define N  4
class TDarray
{int a[M][N];
    public:
     TDarray(int x[M][N])//构造函数
	 {int i,j;
	 for(i=0;i<M;i++)
           for(j=0;j<N;j++)   a[i][j]=x[i][j];
              }
    void move();
	void print()
	{
      int i,j;
	  for(i=0;i<M;i++)
	  { for(j=0;j<N;j++)
	    cout<<a[i][j];
	    cout<<endl;
	  }
    }
};

void TDarray::move()
{int i,j,t;
 for(i=0;i<M;i++)
  {
      t=a[i][N-1];
      for(j=N-2;j>=0;j--)
      a[i][j+1]= a[i][j];
      a[i][0]=t;
 }
}
int main()
{
	int x[M][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
	TDarray arr(x);
	arr.move();
	arr.print();
	return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注