두 개의 사용자 입력 행렬이 주어집니다. 우리의 임무는 두 행렬의 추가를 표시하는 것입니다. 이 문제에서는 포괄적인 중첩 목록을 사용합니다.
알고리즘
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.
예시 코드
# 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)
출력
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]