zoukankan      html  css  js  c++  java
  • N*N矩阵的旋转 不开辟新空间

    /*

       N*N矩阵的旋转

       不开辟新空间 

      programmer:qpz

      time:2014-11-09

    */

    #include <iostream>

    using namespace std;

    //#define MAX 3

    const int MAX=3;

    class cou{

    private:

    int x;

    int y;

    char num[MAX][MAX];

    public:

    cou(){}

    cou(char num[MAX][MAX]);

    void Prin(void);

    void rotate(void);

    }; 

    void Init(char a[MAX][MAX],int n,int m);

    int main(void)

    {

    char arr[MAX][MAX],time;

    Init(arr,MAX,MAX);

    cou Matrix;

    Matrix=cou(arr);

        Matrix.Prin();

        cout<<"请输入旋转几次:"<<endl;

    cin>>time;

    time=time%4;

    while(time--){

    Matrix.rotate();

    Matrix.Prin();

    return 0;

    }/*end main*/

    void Init(char a[MAX][MAX],int n,int m)

    {

    int i,j;

    cout<<"请输入矩阵3*3"<<endl; 

    for(i=0;i<n;i++){

    for(j=0;j<m;j++){

    cin>>a[i][j];

    }/*end for*/

    }/*end for*/

    }/*end Init*/

    cou::cou(char num[MAX][MAX])

    {

    for(x=0;x<MAX;x++){

    for(y=0;y<MAX;y++){

    this->num[x][y]=num[x][y];

    }/*end for*/

    }/*end for*/

    }/*end cou()*/

    void cou::Prin(void)

    {

    for(int i=0;i<MAX;i++){

    for(int j=0;j<MAX;j++){

    cout<<num[i][j];

    }/*end for*/

    cout<<endl;

    }/*end for*/

    }/*end Prin()*/

    void cou::rotate(void)

    {

        //cout<<"首先行列互换"<<endl;

    for(x=0;x<MAX;x++){

    for(y=1+x;y<MAX;y++)

    {

    num[x][y]=num[x][y]^num[y][x];

    num[y][x]=num[x][y]^num[y][x];

    num[x][y]=num[x][y]^num[y][x];

    } /*end for*/

    }/*end for*/

    //Prin();

    //cout<<endl<<"然后进行左右互换"<<endl;

    for(x=0;x<MAX;x++){

    for(y=0;y<MAX/2;y++){

    num[x][y]=num[x][y]^num[x][MAX-y-1];

    num[x][MAX-y-1]=num[x][y]^num[x][MAX-y-1];

    num[x][y]=num[x][y]^num[x][MAX-y-1];

    } /*end for*/

    }/*end for*/

    //Prin();

  • 相关阅读:
    单链表
    css hack原理
    java类载入器——ClassLoader
    ImportTsv-HBase数据导入工具
    Android之键盘监听的执行机理【看清键盘监听的本质】【入门版】
    每天复习Shell—ls
    poj 1159 Palindrome
    redis-3.0.3安装測试
    PHP 对象和引用总结
    sas单变量的特征分析
  • 原文地址:https://www.cnblogs.com/pzqu/p/9457677.html
Copyright © 2011-2022 走看看