Cho trước hai ma trận đầu vào của người dùng. Nhiệm vụ của chúng ta là hiển thị phép cộng hai ma trận. Trong vấn đề này, chúng tôi sử dụng Danh sách lồng nhau toàn diện.
Thuật toán
Step1: input two matrix. Step 2: nested for loops to iterate through each row and each column. Step 3: take one resultant matrix which is initially contains all 0. Then we multiply each row elements of first matrix with each elements of second matrix, then add all multiplied value. That is the value of resultant matrix.
Mã mẫu
# Program to multiply two matrices A=[] n=int(input("Enter N for N x N matrix: ")) print("Enter the element ::>") for i in range(n): row=[] #temporary list to store the row for j in range(n): row.append(int(input())) #add the input to row list A.append(row) #add the row to the list print(A) # [[1, 2, 3], [4, 5, 6], [7, 8, 9]] #Display the 2D array print("Display Array In Matrix Form") for i in range(n): for j in range(n): print(A[i][j], end=" ") print() #new line B=[] n=int(input("Enter N for N x N matrix : ")) #3 here #use list for storing 2D array #get the user input and store it in list (here IN : 1 to 9) print("Enter the element ::>") for i in range (n): row=[] #temporary list to store the row for j in range(n): row.append(int(input())) #add the input to row list B.append(row) #add the row to the list print(B) # [[1, 2, 3], [4, 5, 6], [7, 8, 9]] #Display the 2D array print("Display Array In Matrix Form") for i in range(n): for j in range(n): print(B[i][j], end=" ") print() result = [[0,0,0], [0,0,0], [0,0,0]] for i in range(len(A)): for j in range(len(B[0])): for k in range(len(B)): result[i][j] += A[i][k] * B[k][j] print("The Resultant Matrix Is ::>") for r in result: print(r)
Đầu ra
Enter N for N x N matrix: 3 Enter the element ::> 2 1 4 2 1 2 3 4 3 [[2, 1, 4], [2, 1, 2], [3, 4, 3]] Display Array In Matrix Form 2 1 4 2 1 2 3 4 3 Enter N for N x N matrix : 3 Enter the element ::> 1 2 3 4 5 6 7 8 9 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] Display Array In Matrix Form 1 2 3 4 5 6 7 8 9 The Resultant Matrix Is ::> [34, 41, 48] [20, 25, 30] [40, 50, 60]