羅德興老師的教學歷程檔案 - 112-2 資料結構 (2024年) - Unit 3 陣列處理 |
|
|
Unit 3 陣列處理範例 3-1 Array 的處理 # This is ex2-3.ipynb by 羅老師 on 2024/03/13 # 請參考前面的 ex2-2.2b.ipynb # 定義陣列 score = [0]*5 score_b= [0]*5 # 輸入陣列 ''' for i in range(0,5): s = int(input('請輸入成績:')) score[i]=s ''' for i in range(0,5): s = (i+1)*10 score[i]=s # 輸出陣列 print("輸出成績清單:") for i in range(0,5): print ('第 ',(i+1), '位學生的成績是',score[i],'\n') # 處理陣列 for i in range(0,5): score_b[i]=score[(4-i)] print("輸出 處理調整後 學生成績清單:") for i in range(0,5): print ('第 ',(i+1), '位學生的成績是',score_b[i],'\n') 範例 3-2 Matrix 的處理 ''' This is ch2-7.1.ipynb by 羅老師 on 2024/03/13 要處理矩陣轉置 想想 IPO ...... 矩陣轉置的演算法 Matrix_Transose(int m, n, int A[m][n], int B[n][m]) for (i=1; i<=m; i++) // 外迴圈,先掃描第1列到第m列 for (j=1; i<=n; i++) // 內迴圈,再掃描第1行到第m行 B[j][i]=A[i][j]; // 將A陣列的第i列第j行的元素 放到 B陣列的第j列第i行 ''' print("===============程式描述========================") print("= 程式名稱:ch2-7.1.py =") print("= 程式目的:矩陣轉置 =") print("==============================================") #初始設定 Array_A = [[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]] Array_B =[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]] #轉換前 print("轉換前 A 陣列:") for row in range(0,4): for column in range(0,4): print("%4d" % Array_A[row][column],end="") print() print("轉換前 B 陣列:") for row in range(0,4): for column in range(0,4): print("%4d" % Array_B[row][column],end="") print() #轉換程式 print('轉換中') for row in range(0,4): for column in range(0,4): Array_B[column][row] = Array_A[row][column] print('...') #轉換後 print("轉換後 B 陣列:") for row in range(0,4): for column in range(0,4): print("%4d" % Array_B[row][column],end="") print() 3-3 Matrices 的處理 1. 矩陣轉置 (Martrix Transposition, 如範例 3-2) 2. 矩陣相加 (Martrix Addition) 3. 矩陣相乘 (Martrix Multiplication) 4. 稀疏矩陣 (Sparse Martrix ) 3-4 特殊矩陣 1. 上三角矩陣 (Upper-Triangular Martrix) 2. 下三角矩陣 (Lower-Triangular Martrix) Ex3-1. 請將 範例 3-1 增加陣列的個數為 8 個 Ex3-2. 改良 範例 3-2 (1) 將 A 矩陣改為 3 列 5 行 (2) 印出轉換中 A陣列的第i列第j行的元素 複製 到 B 的處理過程 Ex3-3. 將 Ex3-1 (修改自範例 3-1) 的陣列值從寫在程式裡 改為 從鍵盤輸入,輸入前先問要輸入的個數有 幾 個? 參考:可使用 s = int(input('請輸入成績:')) Ex3-4. 修改 Ex3-2 (1) 將 A 矩陣改為 5 列 5 行 (2) A 的元素值不變,但 轉換時將 A 的元素值 先 * 10 再 複製 到 B (3) 新增一個 C 矩陣,C 的元素值是 A+B,最後再印出 C 矩陣 Ex3-5. 依 3-3 Matrices 的處理 的介紹 (1) 寫一個程式將 A、B 兩個矩陣相 加 到 C 矩陣 (單號同學) (2) 寫一個程式將 A、B 兩個矩陣相 乘 到 C 矩陣 (雙號同學)
|
|
中華科技大學數位化學習歷程 - 意見反應 |