一、主題介紹:
如何將行列資料存入二維串列中,這時常用於資料庫的存取中,所以是必須學會的絕活,接下來就透過 TQC+ 考題來學習二維串列的應用。
(1) 題目
請撰寫一程式,讓使用者輸入兩個正整數 rows、cols,分別表示二維串列lst 的「第一個維度大小」與「第二個維度大小」。
串列元素[row][col]所儲存的數字,其規則為:row、col 的交點值 = 第二個維度的索引col – 第一個維度的索引row。
接著以該串列作為參數呼叫函式compute()輸出串列。
提示:欄寬為4。
(2) 輸入輸出
#輸入
輸入兩個正整數
#輸出
輸出串列,欄寬為4
#範例輸入
5
10
#範例輸出
0 1 2 3 4 5 6 7 8 9
-1 0 1 2 3 4 5 6 7 8
-2 -1 0 1 2 3 4 5 6 7
-3 -2 -1 0 1 2 3 4 5 6
-4 -3 -2 -1 0 1 2 3 4 5
二、程式範例:
#執行結果
5
10
0 1 2 3 4 5 6 7 8 9
-1 0 1 2 3 4 5 6 7 8
-2 -1 0 1 2 3 4 5 6 7
-3 -2 -1 0 1 2 3 4 5 6
-4 -3 -2 -1 0 1 2 3 4 5
三、程式解說:
第 1 行: 定義函式 compute() 及 參數 y 與 x。
第 2 行: 宣告行列數的串列。
第 3~5 行: 使用 for 雙迴圈存入第二個維度的索引 col – 第一個維度的索引 row 的值。
第 6~9 行: 使用 for 雙迴圈列印輸出欄寬為 4 的串列資料的數值。
第 11 行: 將輸入的列正整數字串轉換為數值後存入 rows 變數中。
第 12 行: 將輸入的行正整數字串轉換為數值後存入 cols 變數中。第 13 行: 將 rows、cols 數值帶入函式的參數中,經計算後列印輸出。
沒有留言:
張貼留言