Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C प्रोग्राम: मैट्रिक्स सिंगुलर है या नहीं जांचें

एक मैट्रिक्स mat[row][column] दिया गया है, हमारा कार्य यह जांचना है कि दिया गया मैट्रिक्स सिंगुलर है या नहीं और परिणाम प्रदर्शित करना है।

सिंगुलर मैट्रिक्स वह मैट्रिक्स है जिसका डिटरमिनेंट शून्य होता है; यदि डिटरमिनेंट शून्य नहीं है तो मैट्रिक्स नॉन-सिंगुलर होता है।

3×3 मैट्रिक्स का डिटरमिनेंट इस प्रकार निकाला जाता है:

M = [[a, b, c], [d, e, f], [g, h, i]]

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

उदाहरण

इनपुट: mat[3][3] = {{4, 10, 1}, {0, 2, 3}, {1, 4, -3}}  आउटपुट: matrix is non-singular
इनपुट: mat[3][3] = {{0, 0, 0}, {10, 20, 30}, {1, 4, -3}}  आउटपुट: matrix is singular (पहली पंक्ति शून्य होने से डिटरमिनेंट शून्य)

एल्गोरिदम (कॉफैक्टर विस्तार द्वारा)

START
फंक्शन cofactor(matrix, matrix2, p, q, n)
  i=0, j=0 आरंभ करें
  row=0 से n-1 तक लूप:
    col=0 से n-1 तक लूप:
      यदि row != p और col != q तो
        matrix2[i][j++] = matrix[row][col]
        यदि j == n-1 तो j=0, i++
फंक्शन int check_singular(matrix, n)
  D = 0 आरंभ करें
  यदि n == 1 तो matrix[0][0] लौटाएं
  matrix2 घोषित करें, sign = 1
  f=0 से n-1 तक लूप:
    cofactor(matrix, matrix2, 0, f, n) कॉल करें
    D += sign * matrix[0][f] * check_singular(matrix2, n-1)
    sign = -sign
  D लौटाएं
मुख्य फंक्शन
  मैट्रिक्स आरंभ करें
  यदि check_singular(matrix, N) ≠ 0 तो "Matrix is Singular" प्रिंट करें अन्यथा "Matrix is non-Singular"
STOP

C कोड उदाहरण

#include <stdio.h>
#define N 4

int cofactor(int matrix[N][N], int matrix2[N][N], int p, int q, int n) {
    int i = 0, j = 0, row, col;
    for(row = 0; row < n; row++) {
        for(col = 0; col < n; col++) {
            if(row != p && col != q) {
                matrix2[i][j++] = matrix[row][col];
                if(j == n - 1) { j = 0; i++; }
            }
        }
    }
    return 0;
}

int check_singular(int matrix[N][N], int n) {
    int D = 0;
    if(n == 1) return matrix[0][0];
    int matrix2[N][N];
    int sign = 1;
    for(int f = 0; f < n; f++) {
        cofactor(matrix, matrix2, 0, f, n);
        D += sign * matrix[0][f] * check_singular(matrix2, n - 1);
        sign = -sign;
    }
    return D;
}

int main() {
    int matrix[N][N] = {{4, 10, 1}, {0, 2, 3}, {1, 4, -3}};
    if(check_singular(matrix, N))
        printf("Matrix is Singular\n");
    else
        printf("Matrix is non-Singular\n");
    return 0;
}

आउटपुट

Matrix is non-Singular
  1. C प्रोग्राम: प्लस परफेक्ट नंबर (आर्मस्ट्रांग संख्या) जांचें C प्रोग्राम: प्लस परफेक्ट नंबर (आर्मस्ट्रांग संख्या) जांचें

    प्लस परफेक्ट नंबर (आर्मस्ट्रांग संख्या) एक संख्या प्लस परफेक्ट (आर्मस्ट्रांग) है यदि इसके अंकों के nवें घात का योग (n = अंकों की संख्या) संख्या के बराबर हो। सूत्र n अंकों की संख्या के लिए: Σ(अंकⁿ) = संख्या उदाहरण संख्याअंकगणनायोगआर्मस्ट्रांग? 1631,6,31³+6³+3³ = 1+216+27244नहीं 3713,7,13³+7³+1³

  1. C++ में इन्वोल्यूटरी मैट्रिक्स जांचें C++ में इन्वोल्यूटरी मैट्रिक्स जांचें

    एक मैट्रिक्स M[r][c] दिया गया है, r पंक्तियों की संख्या दर्शाता है और c कॉलम की संख्या दर्शाता है जैसे कि r = c एक स्क्वायर मैट्रिक्स बनाता है। हमें जांचना है कि दिया गया स्क्वायर मैट्रिक्स इन्वोल्यूटरी मैट्रिक्स है या नहीं।इन्वोल्यूटरी मैट्रिक्सएक मैट्रिक्स को इन्वोल्यूटरी मैट्रिक्स कहा जाता है यदि

  1. C++ में इडेम्पोटेंट मैट्रिक्स जांचें C++ में इडेम्पोटेंट मैट्रिक्स जांचें

    एक मैट्रिक्स M[r][c] दिया गया है, r पंक्तियों की संख्या दर्शाता है और c कॉलम की संख्या दर्शाता है जैसे कि r = c एक स्क्वायर मैट्रिक्स बनाता है। हमें जांचना है कि दिया गया स्क्वायर मैट्रिक्स इडेम्पोटेंट मैट्रिक्स है या नहीं।इडेम्पोटेंट मैट्रिक्सएक मैट्रिक्स M को इडेम्पोटेंट मैट्रिक्स कहा जाता है यदि