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

जावा प्रोग्राम: निर्धारित करना कि दिया गया मैट्रिक्स स्पार्स मैट्रिक्स है या नहीं


इस लेख में, हम समझेंगे कि कैसे निर्धारित किया जाए कि दिया गया मैट्रिक्स स्पार्स मैट्रिक्स है या नहीं। एक मैट्रिक्स को स्पार्स मैट्रिक्स कहा जाता है यदि उस मैट्रिक्स के अधिकांश एलिमेंट्स 0 हैं। इसका तात्पर्य है कि इसमें बहुत कम नॉन-जीरो एलिमेंट्स होते हैं।

उदाहरण

मान लीजिए हमारा इनपुट है:

Input matrix: 4 0 6 0 0 9 6 0 0

वांछित आउटपुट होगा:

Yes, the matrix is a sparse matrix

एल्गोरिदम

चरण 1 - शुरू करें
चरण 2 - एक इंटीजर मैट्रिक्स घोषित करें: input_matrix
चरण 3 - मान परिभाषित करें
चरण 4 - दो फॉर-लूप्स का उपयोग करके मैट्रिक्स के प्रत्येक एलिमेंट पर पुनरावृति करें, उन एलिमेंट्स की संख्या गिनें जिनका मान 0 है
चरण 5 - यदि जीरो एलिमेंट्स कुल एलिमेंट्स के आधे से अधिक हैं, तो यह स्पार्स मैट्रिक्स है, अन्यथा नहीं
चरण 6 - परिणाम प्रदर्शित करें
चरण 7 - रुकें

उदाहरण 1: मेन फंक्शन में सभी ऑपरेशन

यहां, हम सभी ऑपरेशन्स को 'main' फंक्शन के अंतर्गत बांधते हैं।

public class Sparse { 
    public static void main(String args[]) { 
        int input_matrix[][] = { 
            { 4, 0, 6 }, 
            { 0, 0, 9 }, 
            { 6, 0, 0 } 
        }; 
        System.out.println("मैट्रिक्स परिभाषित है: "); 
        int rows = 3; 
        int column = 3; 
        int counter = 0; 
        for (int i = 0; i < rows; i++) { 
            for (int j = 0; j < column; j++) { 
                System.out.print(input_matrix[i][j] + " "); 
            } 
            System.out.println(); 
        } 
        for (int i = 0; i < rows; ++i) 
            for (int j = 0; j < column; ++j) 
                if (input_matrix[i][j] == 0) 
                    ++counter; 
        if (counter > ((rows * column) / 2)) 
            System.out.println("\nहां, मैट्रिक्स एक स्पार्स मैट्रिक्स है"); 
        else 
            System.out.println("\नहीं, मैट्रिक्स स्पार्स मैट्रिक्स नहीं है"); 
    } 
}

आउटपुट

मैट्रिक्स परिभाषित है: 4 0 6 0 0 9 6 0 0
हां, मैट्रिक्स एक स्पार्स मैट्रिक्स है

उदाहरण 2: ऑब्जेक्ट-ओरिएंटेड दृष्टिकोण

यहां, हम ऑपरेशन्स को फंक्शन्स में एनकैप्सुलेट करते हैं जो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग को दर्शाता है।

public class Sparse { 
    static int rows = 3; 
    static int column = 3; 
    static void is_sparse(int input_matrix[][]){ 
        int counter = 0; 
        for (int i = 0; i < rows; i++) { 
            for (int j = 0; j < column; j++) { 
                System.out.print(input_matrix[i][j] + " "); 
            } 
            System.out.println(); 
        } 
        for (int i = 0; i < rows; ++i) 
            for (int j = 0; j < column; ++j) 
                if (input_matrix[i][j] == 0) 
                    ++counter; 
        if (counter > ((rows * column) / 2)) 
            System.out.println("\nहां, मैट्रिक्स एक स्पार्स मैट्रिक्स है"); 
        else 
            System.out.println("\नहीं, मैट्रिक्स स्पार्स मैट्रिक्स नहीं है"); 
    } 
    public static void main(String args[]) { 
        int input_matrix[][] = { { 4, 0, 6 }, 
            { 0, 0, 9 }, 
            { 6, 0, 0 } 
        }; 
        System.out.println("मैट्रिक्स परिभाषित है: "); 
        is_sparse(input_matrix); 
    } 
}

आउटपुट

मैट्रिक्स परिभाषित है: 4 0 6 0 0 9 6 0 0
हां, मैट्रिक्स एक स्पार्स मैट्रिक्स है

  1. - जावा प्रोग्राम: मैट्रिक्स को Z फॉर्म में प्रिंट करना

    उदाहरणimport java.lang.*; import java.io.*; public class Demo { public static void z_shape(int my_arr[][], int n) { int i = 0, j, k; // पहली पंक्ति प्रिंट करें for (j = 0; j < n - 1; j++) { System.out.print(my_arr[i][j] + ); } // विकर

  1. - जावा प्रोग्राम: रेंज दिए जाने पर स्ट्रिंग का विस्तार करना

    उदाहरणpublic class Demo { public static void expandRange(String word) { StringBuilder mySb = new StringBuilder(); String[] strArr = word.split(, ); for (int i = 0; i < strArr.length; i++) { String[] splitStr = strArr[i].split(-); if

  1. - दिया गया नंबर फाइबोनैचि नंबर है या नहीं जांचने का जावा प्रोग्राम

    दिया गया नंबर फाइबोनैचि है या नहीं जांचने के लिए जावा प्रोग्राम निम्नलिखित है: उदाहरण public class Demo{ static boolean perfect_square_check(int val){ int s = (int) Math.sqrt(val); return (s*s == val); } static boolean fibonacci_num_check(int n){ return per