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

C++ में NxM मैट्रिक्स की प्रत्येक पंक्ति में सरणी के तत्वों की गिनती


हमें पूर्णांक प्रकार के तत्वों की एक सरणी और एक मैट्रिक्स (2-D सरणी) दी गई है। कार्य है सरणी के उन तत्वों की संख्या गिनना जो मैट्रिक्स की प्रत्येक पंक्ति में मौजूद हैं।

इनपुट - int arr[] = {2, 4, 6} और matrix = {{2,4,6}, {3,4,6}, {6,2,1}}

आउटपुट - पंक्ति 1 में सरणी के तत्व: 3, पंक्ति 2 में: 2, पंक्ति 3 में: 2

उपयोग किया गया दृष्टिकोण (नाइव)

  • सरणी और मैट्रिक्स इनपुट करें।
  • सरणी का आकार ज्ञात करें और फंक्शन में पास करें।
  • प्रत्येक पंक्ति के लिए, सरणी के प्रत्येक तत्व को मैट्रिक्स की पंक्ति में खोजें।
  • तीन नेस्टेड लूप का उपयोग करें।

कुशल दृष्टिकोण (अनऑर्डर्ड मैप)

  • प्रत्येक पंक्ति के लिए एक अनऑर्डर्ड मैप बनाएं जिसमें उस पंक्ति के सभी तत्व हों।
  • फिर सरणी के प्रत्येक तत्व के लिए O(1) में जांचें कि वह मैप में है या नहीं।
  • समय जटिलता: O(rows × (cols + arr_size))

उदाहरण (नाइव दृष्टिकोण)

#include <bits/stdc++.h> 
using namespace std; 

#define ROW 3 
#define COL 3 

void arr_matrix(int matrix[ROW][COL], int arr[], int size) { 
    int count = 0; 
    for (int i = 0; i < ROW; i++) { 
        for (int k = 0; k < size; k++) { 
            int temp = arr[k]; 
            for (int j = 0; j < COL; j++) { 
                if (temp == matrix[i][j]) 
                    count++; 
            } 
        } 
        cout << "Elements of array in row " << i+1 << " are: " << count << endl; 
        count = 0; 
    } 
} 

int main() { 
    int matrix[ROW][COL] = {{2,4,6}, {3,4,6}, {6,2,1}}; 
    int arr[] = {2,4,6}; 
    int size = sizeof(arr) / sizeof(arr[0]); 
    arr_matrix(matrix, arr, size); 
    return 0; 
}

आउटपुट

Elements of array in row 1 are: 3 Elements of array in row 2 are: 2 Elements of array in row 3 are: 2

उदाहरण (कुशल दृष्टिकोण)

#include <bits/stdc++.h> 
using namespace std; 

#define ROW 3 
#define COL 3 

void arr_matrix(int matrix[ROW][COL], int arr[], int size) { 
    for (int i = 0; i < ROW; i++) { 
        unordered_map<int, int> um; 
        for (int j = 0; j < COL; j++) 
            um[matrix[i][j]] = 1; 
        int count = 0; 
        for (int j = 0; j < size; j++) 
            if (um[arr[j]]) count++; 
        cout << "Elements of array in row " << i+1 << " are: " << count << endl; 
    } 
} 

int main() { 
    int matrix[ROW][COL] = {{2,4,6}, {3,4,6}, {6,2,1}}; 
    int arr[] = {2,4,6}; 
    int size = sizeof(arr) / sizeof(arr[0]); 
    arr_matrix(matrix, arr, size); 
    return 0; 
}

आउटपुट

Elements of array in row 1 are: 3 Elements of array in row 2 are: 2 Elements of array in row 3 are: 2

  1. C++ में सरणी में कुंजी K की उपस्थिति की संभावना C++ में सरणी में कुंजी K की उपस्थिति की संभावना

    n आकार की एक सरणी दी गई है और कार्य दिए गए तत्व k की संभावना ढूंढना है यदि यह सरणी में उपलब्ध है। पूरी सरणी को n तक पार करें जो सरणी में तत्वों की संख्या के बराबर है और दिए गए तत्व या कुंजी k को खोजें। यदि तत्व सरणी में मौजूद है तो उसकी संभावना की गणना करें अन्यथा 0 प्रिंट करें। इनपुट arr[] = { 1

  1. - C++ में ऐरे में सम और विषम एलिमेंट्स की गिनती

    इस ट्यूटोरियल में, हम ऐरे में सम और विषम एलिमेंट्स की संख्या खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे।इसके लिए हमें एक ऐरे प्रदान किया जाएगा। हमारा कार्य दिए गए ऐरे में सम और विषम एलिमेंट्स की संख्या की गणना करना है।उदाहरण#include<iostream> using namespace std; void CountingEvenOdd(int arr[],

  1. - C++ में सरणी के सभी तत्वों को 4 से विभाज्य बनाने के लिए न्यूनतम चरण

    समस्या कथनआकार n की एक सरणी दी गई है, कार्य सरणी के सभी तत्वों को 4 से विभाज्य बनाने के लिए आवश्यक न्यूनतम चरणों की संख्या ज्ञात करना है। एक चरण को सरणी से किन्हीं दो तत्वों को हटाने और इन तत्वों का योग सरणी में जोड़ने के रूप में परिभाषित किया गया हैउदाहरणयदि इनपुट सरणी {1, 2, 0, 2, 4, 3} है तो 3 ऑप