Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

C โปรแกรมตรวจสอบว่าเมทริกซ์เป็นเอกพจน์หรือไม่


กำหนดเมทริกซ์เป็น mat[row][column] งานของเราคือตรวจสอบว่าเมทริกซ์ที่กำหนดเป็นเอกพจน์หรือไม่ผ่านฟังก์ชันและแสดงผลลัพธ์

เมทริกซ์เอกพจน์คือเมทริกซ์ที่มีดีเทอร์มีแนนต์เป็นศูนย์ และหากดีเทอร์มีแนนต์ไม่เป็นศูนย์ เมทริกซ์นั้นก็ไม่ใช่เอกพจน์

ดังนั้นหากต้องการทราบว่าเมทริกซ์เป็นเอกพจน์หรือไม่ใช่เอกพจน์ เราต้องคำนวณดีเทอร์มีแนนต์ก่อน ดีเทอร์มิแนนต์ของเมทริกซ์สามารถคำนวณได้ดังนี้ −

$$M1[3][3]\:=\:\begin{bmatrix}a &b &c \\d &e &f \\g &h &i \end{bmatrix}$$

|m1| =a(e*i - f*h) - b(d*i - f*g) + c(d*h - e*g)

ตัวอย่าง

Input-:mat[3][3]={ 4, 10, 1 }, { 0, 2, 3 }, { 1, 4, -3 }Output-:matrix is ​​non-singularInput-:mat[ 3][3]={ 0, 0, 0 }, { 10, 20, 30 }, { 1, 4, -3 }Output-:เมทริกซ์เป็นเอกพจน์เนื่องจากแถวแรกทั้งหมดเป็น 0 ดีเทอร์มีแนนต์จะเป็นศูนย์เท่านั้น 

อัลกอริทึม

ปัจจัยร่วมของฟังก์ชัน StartIn (int matrix[N][N], int matrix2[N][N], int p, int q, int n){ ขั้นตอนที่ 1-> ประกาศและเริ่มต้น i =0, j =0, row, col ขั้นตอนที่ 2-> วนซ้ำ สำหรับแถว =0 และแถว  ประกาศและ เริ่มต้น int D =0; ขั้นตอนที่ 2-> ถ้า n ==1 ให้ส่งคืนเมทริกซ์[0][0] ขั้นตอนที่ 3-> ประกาศเมทริกซ์2[N][N] เครื่องหมาย =1 ขั้นตอนที่ 4->วนรอบสำหรับ f =0 และ f  Return Din main () ขั้นตอนที่ 1-> ประกาศและเริ่มต้นเมทริกซ์[N][N] ขั้นตอนที่ 2-> หากการเรียก check_singular(matrix, N) คืนค่าที่ไม่ใช่ 0 ให้พิมพ์ "Matrix is ​​Singular " ขั้นตอนที่ 3-> Else Print "Matrix is ไม่ใช่เอกพจน์ "หยุด

ตัวอย่าง

#include #define N 4//เพื่อค้นหา cofactorsint cofactor(int matrix[N][N], int matrix2[N][N], int p, int q, int n) { int ผม =0, j =0; แถว int, col; // วนซ้ำสำหรับแต่ละองค์ประกอบของเมทริกซ์สำหรับ (แถว =0; แถว  

ผลลัพธ์

หากรันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้ -

เมทริกซ์ไม่ใช่เอกพจน์