Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;旋转由9个字符字符数组组成的3x3网格?_C++ - Fatal编程技术网

C++ C++;旋转由9个字符字符数组组成的3x3网格?

C++ C++;旋转由9个字符字符数组组成的3x3网格?,c++,C++,我有一个网格,看起来像这样 X . . . . . . . . 由一个字符数组制成,我如何将其向左或向右旋转90度? 看起来像 . . X . . . . . . 右旋转90度后,向左或逆时针旋转矩阵:- 求矩阵的转置 反转转置的列 设给定的矩阵为 a b c d e f g h i a b c d e f g h i 首先我们找到转置 a d g b e h c f i a d g b e h c f i 然后我们反转每列的元素 c f i b e h a d g 向右或顺时针旋

我有一个网格,看起来像这样

X . .
. . .
. . .
由一个字符数组制成,我如何将其向左或向右旋转90度? 看起来像

. . X
. . .
. . .

右旋转90度后,向左或逆时针旋转矩阵:-

  • 求矩阵的转置
  • 反转转置的列
  • 设给定的矩阵为

    a b c
    d e f
    g h i
    
    a b c
    d e f
    g h i
    
    首先我们找到转置

    a d g
    b e h
    c f i
    
    a d g
    b e h
    c f i
    
    然后我们反转每列的元素

    c f i
    b e h
    a d g
    

    向右或顺时针旋转矩阵:-

  • 求矩阵的转置
  • 反转转置的行
  • 设给定的矩阵为

    a b c
    d e f
    g h i
    
    a b c
    d e f
    g h i
    
    首先我们找到转置

    a d g
    b e h
    c f i
    
    a d g
    b e h
    c f i
    
    然后我们反转每一行的元素

    g d a
    h e b
    c f i
    
    解决此问题的代码

    void rotate90Clockwise(char a[N][N]) 
    { 
    
        // Traverse each cycle 
        for (int i = 0; i < N / 2; i++) { 
            for (int j = i; j < N - i - 1; j++) { 
    
                // Swap elements of each cycle 
                // in clockwise direction 
                char temp = a[i][j]; 
                a[i][j] = a[N - 1 - j][i]; 
                a[N - 1 - j][i] = a[N - 1 - i][N - 1 - j]; 
                a[N - 1 - i][N - 1 - j] = a[j][N - 1 - i]; 
                a[j][N - 1 - i] = temp; 
            } 
        } 
    } 
    
    void顺时针旋转90(字符a[N][N])
    { 
    //遍历每个循环
    对于(inti=0;i
    观察每个索引的转换,你会很高兴看到你能展示你已经编写的程序,并解释你的程序到底是如何无法工作或无法产生预期结果的?你必须先展示你的作品;它必须满足a的所有要求;在向stackoverflow.com寻求帮助之前,必须真诚地尝试实现您的程序,而不是几行代码。在这里,我们不为其他人编写完整的程序。有关更多信息,请参阅问题、记录并阅读。