1

char 配列 maze[][] があり、これが含まれているとしましょう。

    P . X X .
    . X . . .
    . . . X .
    X X T . .
    . . X . .

そして、下に移動したい場合は、「P」を maze[0][0] から maze[1][0] に移動し、次に「.」を移動する関数を作成しています。maze[1][0] から maze[0][0] など...

基本的に、char 配列の 2 つのインデックスで値を取引するにはどうすればよいですか?

4

3 に答える 3

5

任意の 2 つの変数の値を切り替えるのと同じ方法: 一時変数を使用し、3 つの代入でスワップを行います。

char tmp = maze[r1][c1];
maze[r1][c1] = maze[r2][c2];
maze[r2][c2] = tmp;
于 2013-10-02T03:55:43.157 に答える
3

これを試して :

char temp = maze[1][0];
maze[1][0] = maze[0][0];
maze[0][0] = temp;

より一般化した形式:

void trade(char[][] maze,int r1,int c1,int r2,int c2){
    char temp = maze[r2][c2];
    maze[r2][c2] = maze[r1][c1];
    maze[r1][c1] = temp;
}
于 2013-10-02T03:56:03.267 に答える
0

一時変数を使用して変更し、配列要素の値を交換できます

char temp = maze[row1][column0];
maze[row1][column[0] = maze[row2][column2];
maze[row2][coumn2] = temp; 
于 2013-10-02T05:17:08.597 に答える