史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   矩陣轉置問題 (http://forum.slime.com.tw/thread189546.html)

blueace 2006-10-21 10:42 PM

矩陣轉置問題
 
不知道能不能請問一下,要怎麼寫以下這個程式呢?用c寫的話...
因為想不太出來,一般轉置的矩陣是沒問題,但是要怎麼把第三個value不變呢?
希望有大大可以幫我解答一下,謝謝:toomuch:
參照下方
輸入一個矩陣-->輸出其轉置矩陣
Let the two arrays row_terms and starting_pos be shared
Input:
1. 輸入row x col 數目
2. 輸入矩陣中的值<r, c, v>
輸出一個完整的矩陣表示

row col value
-------------------------
[0] 6 6 8
[1] 0 0 15
[2] 0 3 22
[3] 0 5 -15
[4] 1 1 11
[5] 1 2 3
[6] 2 3 -6
[7] 4 0 91
[8] 5 2 28

轉變成一個轉置矩陣(由小到大排)

row col value
-------------------------
[0] 6 6 8
[1] 0 0 15
[2] 0 4 91
[3] 1 1 11
[4] 2 1 3
[5] 2 5 28
[6] 3 0 22
[7] 3 2 -6
[8] 5 0 -15

blueace 2006-10-23 09:00 PM

嗚..都沒人理我:56gtyhu: ....能拜託大家幫個忙好嗎?謝謝了

飛鳥 2006-10-27 04:18 PM

不懂耶

你只是要矩陣轉置功能就好了嗎

引用:

6 ,6 ,8
0 ,0 ,15
0 ,3 ,22
0 ,5 ,-15
1 ,1 ,11
1 ,2 ,3
2 ,3 ,-6
4 ,0 ,91
5 ,2 ,28

轉置後應該是

引用:

6 , 0 , 0 , 0 , 1 , 1 , 2 , 4 , 5
6 , 0 , 3 , 5 , 1 , 2 , 3 , 0 , 2
8 ,15 , 22,-15,11,3,-6,91, 28


blueace 2006-10-27 10:46 PM

感謝你的回答^^
是要轉置沒錯,
但是他還要排序,而且第一行6 6 8不能改變
然後其他的要按照大小排下去後面的值也跟著前面的值排序變動
我會寫轉置,但我卡在排序和第一行的問題
比如說一開始輸入的矩陣是
6 6 8
1 1 3
3 5 8
3 5 6
2 4 9
2 5 4
1 2 8
2 3 8
2 3 1
要變成
6 6 8
1 1 3
1 2 8
2 3 1
2 3 8
2 4 9
2 5 4
3 5 6
3 5 8
這樣子

snoopy 2006-10-28 01:01 AM

C/C++語言 腳踏實地的做法:n8:
Radix sort
也是用在整數資料的排序方法。 先按照最後一位數(呼叫某個stable 排序法) 排序, 再按照倒數第二位數排序
技巧是一定要用穩定排序才行
當然如果你不用Radix sort也行
記得把如1 1 3先轉成int 113再排 排完再拆 這是小技巧

忽略第一列
Radix ex:
step 1 初值
====
1 1 3
3 5 8
3 5 6
2 4 9
2 5 4
1 2 8
2 3 8
2 3 1

step 2 按照最後一個位數排
====
2 3 1
1 1 3
2 5 4
3 5 6
3 5 8
1 2 8
2 3 8
2 4 9

step 3 按照最後第二個位數排
====
1 1 3
1 2 8
2 3 1
2 3 8
2 4 9
2 5 4
3 5 6
3 5 8

step 4 按照最後第三個位數排
====
1 1 3
1 2 8
2 3 1
2 3 8
2 4 9
2 5 4
3 5 6
3 5 8


Java 偷懶的做法直接呼叫類別:n7:
Arrays.sort(a,fromIndex,toIndex);
//一行就做完了

sort(int[] a, int fromIndex, int toIndex)
Sorts the specified range of the specified array of ints into ascending numerical order.

最快的方法 看隔壁的:n6:


所有時間均為台北時間。現在的時間是 05:14 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1