對乙個方陣轉置,就是把原來的行號變列號,原來的列號變行號
例如,如下的方陣:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
轉置後變為:
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
但,如果是對該方陣順時針旋轉(不是轉置),卻是如下結果:
13 9 5 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
14 10 6 2 13 9 5 1 14 10 6 2 15 11 7 3 16 12 8 4
15 11 7 3
16 12 8 4
下面的**實現的功能就是要把乙個方陣順時針旋轉。
void rotate(int* x, int rank)
for(i=0; i
free(y);
}int main(int argc, char* argv)
,,,};
int rank = 4;
rotate(&x[0][0], rank);
for(int i=0; i
printf("\n");
}return 0;
}請分析**邏輯,並推測劃線處的**。
答案寫在 「解答.txt」 檔案中
注意:只寫劃線處應該填的內容,劃線前後的內容不要抄寫。
#include#include#includevoid rotate(int* x, int rank)
return 0;
}
輸出:3 7 11 15 2 6 10 14 1 5 9 13 0 4 8 12 藍橋杯 轉方陣
對乙個方陣轉置,就是把原來的行號變列號,原來的列號變行號 例如,如下的方陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 轉置後變為 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 但,如果是對該方陣順時針旋轉 不是轉置 卻是如下結果 1...
藍橋杯 轉方陣
對乙個方陣轉置,就是把原來的行號變列號,原來的列號變行號 例如,如下的方陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 轉置後變為 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 但,如果是對該方陣順時針旋轉 不是轉置 卻是如下結果 1...
Python 方陣轉置
思想 對角線不變,兩端交換 方陣轉置 建立 defsquare matrix transpose list target 傳遞二維方陣,返回轉置後的方陣 param list target 二維方陣 return 轉置後的方陣 for j in range len list target 1 for...