हमें पूर्णांक प्रकार के तत्वों की एक सरणी और दी गई पंक्ति और स्तंभ आकार की एक मैट्रिक्स या 2-डी सरणी दी जाती है और कार्य एक मैट्रिक्स की प्रत्येक पंक्ति में मौजूद एक सरणी के तत्वों की गणना की गणना करना है।
इनपुट
int arr = { 2, 4, 6} and int matrix[row][col] = { { 2, 4, 6 }, {3, 4, 6}, {6, 2, 1}}
आउटपुट
Elements of array in row 1 are: 3 Elements of array in row 2 are: 2 Elements of array in row 3 are: 2
स्पष्टीकरण
we are having array containing 2, 4 and 6 as elements and now we will check the occurrences of 3 elements in every row of matrix by matching the elements of an array with the elements of a matrix, like, 2, 4 and 6 all are present in first row of matrix so the count of elements for row 1 is 3, similarly, count of elements for row 2 is 2 as only 4 and 6 are there and count of elements for row 3 is 2 as only 2 and 6 are there.
इनपुट
int arr = { 1, 3} and int matrix[row][col] = { { 1, 4, 6 }, {3, 1, 6}, {6, 2, 4}}
आउटपुट
Elements of array in row 1 are: 1 Elements of array in row 2 are: 2 Elements of array in row 3 are: 0
स्पष्टीकरण
we are having array containing 1 and 3 as elements and now we will check the occurrences of 2 elements in every row of matrix by matching the elements of an array with theelements of a matrix, like, only 1 is present in first row of matrix so the count of elements for row 1 is 1, similarly, count of elements for row 2 is 2 as 1 and 3 both are there and count of elements for row 3 is 0 as none of 1 and 3 are there.
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
दी गई समस्या को हल करने के लिए कई दृष्टिकोण हो सकते हैं जैसे कि सरल दृष्टिकोण और कुशल दृष्टिकोण। तो आइए सबसे पहले भोले दृष्टिकोण . को देखें ।
-
पूर्णांक तत्वों की एक सरणी और पंक्ति और स्तंभ आकार के मैट्रिक्स को इनपुट करें
-
किसी सरणी के आकार की गणना करें और आगे की प्रक्रिया के लिए सरणी, मैट्रिक्स और सरणी के आकार को फ़ंक्शन में पास करें
-
मैट्रिक्स पंक्ति में मौजूद तत्वों की संख्या को संग्रहीत करने के लिए एक अस्थायी चर गणना करें।
-
0 से एक मैट्रिक्स के पंक्ति आकार तक के लिए लूप प्रारंभ करें
-
लूप के अंदर, 0 से सरणी के आकार तक प्रारंभ करें
-
गिरफ्तारी के साथ एक अस्थायी सेट करें[k]
-
0 से एक मैट्रिक्स के कॉलम आकार तक के लिए एक और लूप प्रारंभ करें
-
लूप के अंदर, IF temp =matrix[i][j] जांचें, फिर गिनती को 1 से बढ़ाएं
-
प्रत्येक पंक्ति के परिवर्तन के बाद इसे ताज़ा करने के लिए गिनती को 0 पर सेट करें
-
प्रत्येक पंक्ति के परिवर्तन से पहले गिनती का मान प्रिंट करें।
कुशल दृष्टिकोण
-
पूर्णांक तत्वों की एक सरणी और पंक्ति और स्तंभ आकार के मैट्रिक्स को इनपुट करें
-
किसी सरणी के आकार की गणना करें और आगे की प्रक्रिया के लिए सरणी, मैट्रिक्स और सरणी के आकार को फ़ंक्शन में पास करें
-
0 से एक मैट्रिक्स के पंक्ति आकार तक के लिए लूप प्रारंभ करें
-
unordered_map प्रकार का वैरिएबल बनाएं
-
0 से एक मैट्रिक्स के कॉलम आकार तक के लिए एक और लूप प्रारंभ करें
-
मैट्रिक्स के साथ एक अनियंत्रित नक्शा सेट करें [i][j] 1
. के रूप में -
मैट्रिक्स पंक्ति में मौजूद तत्वों की संख्या को संग्रहीत करने के लिए एक अस्थायी चर गणना करें।
-
लूप के अंदर, 0 से सरणी के आकार तक प्रारंभ करें
-
IF um[arr[j]]==1 जांचें और फिर गिनती को 1 से बढ़ाएं
-
प्रत्येक पंक्ति के परिवर्तन से पहले गिनती का मान प्रिंट करें।
उदाहरण (बेवकूफ दृष्टिकोण)
#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 matrix row for(int i=0; i<row; i++){ //for array for(int k=0 ; k<size ; k++){ int temp = arr[k]; //for matrix col 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); }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
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); }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Elements of array in row 1 are: 3 Elements of array in row 2 are: 2 Elements of array in row 3 are: 2