ในบทความนี้ เราจะเข้าใจวิธีการคูณเมทริกซ์โดยใช้อาร์เรย์หลายมิติ เมทริกซ์มีการจัดเรียงแถวและคอลัมน์ขององค์ประกอบ เมทริกซ์ที่มี m แถวและ n คอลัมน์สามารถเรียกได้ว่าเป็นเมทริกซ์ขนาด m × n
รายการแต่ละรายการในเมทริกซ์เรียกว่าองค์ประกอบและสามารถแสดงด้วย a[i][j] ซึ่งแสดงให้เห็นว่าองค์ประกอบ a มีอยู่ในแถว ith และคอลัมน์ jth
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
สมมติว่าข้อมูลที่เราป้อนคือ −
เมทริกซ์แรก:2 3 45 2 34 6 9 เมทริกซ์ที่สอง:1 5 35 6 38 1 5
ผลลัพธ์ที่ต้องการจะเป็น −
ผลคูณของเมทริกซ์สองตัวคือ:49 32 3539 40 36106 65 75
อัลกอริทึม
ขั้นตอนที่ 1 - STARTขั้นตอนที่ 2 - ประกาศเมทริกซ์จำนวนเต็มสามตัว ได้แก่ input_matrix_1, input_matrix_1 และ resultant_matrixStep 3 - กำหนดค่าขั้นตอนที่ 4 - วนซ้ำแต่ละองค์ประกอบของเมทริกซ์ทั้งสองโดยใช้ for-loop คูณองค์ประกอบที่ [i][ j] ตำแหน่งของเมทริกซ์แรกกับแต่ละองค์ประกอบของแถวของเมทริกซ์ที่สองและเพิ่มค่า เก็บค่าที่ตำแหน่ง [i][j] ของเมทริกซ์ผลลัพธ์ ทำซ้ำสำหรับแต่ละองค์ประกอบของเมทริกซ์แรก ขั้นตอนที่ 5 - แสดงผลลัพธ์ขั้นตอนที่ 5 - หยุด
ตัวอย่างที่ 1
ที่นี่ เราเชื่อมโยงการดำเนินการทั้งหมดเข้าด้วยกันภายใต้ฟังก์ชัน 'หลัก'
<ก่อน> MultiplyMatrices คลาสสาธารณะ { โมฆะสาธารณะหลัก (สตริง [] args) { int matrix_size =3; int[][] input_matrix_1 ={ {2, 3, 4}, {5, 2, 3}, {4, 6, 9} }; System.out.println("เมทริกซ์แรกถูกกำหนดเป็น:"); สำหรับ (int i =0; iผลลัพธ์
เมทริกซ์แรกถูกกำหนดเป็น:2 3 45 2 34 6 9 เมทริกซ์ที่สองถูกกำหนดเป็น:1 5 35 6 38 1 5 ผลคูณของเมทริกซ์สองตัวคือ:49 32 3539 40 36106 65 75
ตัวอย่างที่ 2
ในที่นี้ เราสรุปการดำเนินการเป็นฟังก์ชันที่แสดงการเขียนโปรแกรมเชิงวัตถุ
คลาสสาธารณะ MultiplyMatrices { คงที่ int matrix_size =3; โมฆะคงที่คูณ (int input_matrix_1[][], int input_matrix_2[][]){ int[][] resultant_matrix =int ใหม่[matrix_size][matrix_size]; สำหรับ (int i =0; iผลลัพธ์
เมทริกซ์แรกถูกกำหนดเป็น:2 3 45 2 34 6 9 เมทริกซ์ที่สองถูกกำหนดเป็น:1 5 35 6 38 1 5 ผลคูณของเมทริกซ์สองตัวคือ:49 32 3539 40 36106 65 75