如何创建就位方法以仅使用指针转置矩阵?

问题描述 投票:0回答:1

我正在尝试在C语言中创建一个仅使用指针并在适当位置转置矩阵的函数。我无法完成。这是我到目前为止的代码:

    void transpose(int matrix[ROWS][COLS]) {
       for (int i = 0; i < 5; i++) {
         for (int j=0;j<5;j++) {
              int temp = *(*(matrix + i) + j);
              *(*(matrix + i) + j) =  *(*(matrix + j) + i);
              *(*(matrix + j) + i) = temp;
           }
        }
      }
c transpose
1个回答
0
投票

您交换每件事两次。第二个循环应该是j

for (int i = 0; i < 5; i++) {
         for (int j=0;j<i;j++) {
              int temp = *(*(matrix + i) + j);
              *(*(matrix + i) + j) =  *(*(matrix + j) + i);
              *(*(matrix + j) + i) = temp;
           }
        }

© www.soinside.com 2019 - 2024. All rights reserved.