線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:717
推到 Plurk!
推到 Facebook!

矩陣順逆時針排列

答題得分者是:richtop
roger-c
一般會員


發表:7
回覆:14
積分:4
註冊:2003-11-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-26 16:31:52 IP:220.143.xxx.xxx 未訂閱
不好意思,小弟舉一個矩陣排列的例子,如[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]; 現在是想取2*2的矩陣為一單元,從第一列開始以逆時針的排列,隔一列就以順時針的排列,如1 5 6 2, 2 6 7 3, 3 7 8 4第一列排完後,第二列以順時針排列如5 6 10 9, 6 7 11 10, 7 8 12 11,排完後,第三列又回復逆時針排列,依此類推,不曉得哪位熱心大大可以提供程式參考,小弟感激不盡!
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-26 23:25:22 IP:211.76.xxx.xxx 未訂閱
roger-c 您好:    底下程式碼,供您參考。 矩陣元素位置的給定依數學上的定義,先列(>< class="code">//--------------------------------------------------------------------------- int ary[4][4] = { { 1, 2, 3, 4}, { 5, 6, 7, 8}, { 9,10,11,12}, {13,14,15,16} }; int dx[2][4]= {{0,1,1,0}, {0,0,1,1}}; int dy[2][4]= {{0,0,1,1}, {0,1,1,0}}; void showData(int r, int c) // 1 <= r <= 4; 1<= c <= 4; { AnsiString msg=""; int index = r % 2; // 奇數為逆時針 r--; c--; for (int k=0; k<4; k ) { msg.cat_printf(" -", ary[ r dy[index][k] ][ c dx[index][k] ]); } ShowMessage(msg); } void __fastcall TForm1::Button1Click(TObject *Sender) { int r,c; //r=1; for (r=1; r<4; r ) for (c=1; c<4; c ) showData(r,c); } //--------------------------------------------------------------------------- RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
roger-c
一般會員


發表:7
回覆:14
積分:4
註冊:2003-11-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-26 23:46:11 IP:220.143.xxx.xxx 未訂閱
謝謝richtop大大熱心回覆,剛好可以run出我要結果,感謝囉!
系統時間:2024-06-30 14:40:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!