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

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

हमें पूर्णांकों से युक्त एक मैट्रिक्स दिया गया है। लक्ष्य मैट्रिक्स में पंक्तियों की संख्या ज्ञात करना है जिसमें सभी समान तत्व हैं।

यदि दिखाए गए अनुसार 5X4 मैट्रिक्स है -

1 5 1 3 1
1 1 1 1 1
5 3 2 3 5
7 7 7 7 7

उत्तर होगा 2, पंक्ति 1 (जिसमें सभी 1 हैं) और पंक्ति 3 (सभी 7 हैं) में एक ही तत्व है।

आइए उदाहरणों से समझते हैं।

इनपुट

matrix =
   [ 1 1 1 1 ]
   [ 2 3 2 7 ]
   [ 3 3 3 3 ]

आउटपुट − मैट्रिक्स में पंक्तियों की संख्या जिसमें समान तत्व होते हैं − 2

स्पष्टीकरण − पंक्ति 0 में सभी 1 हैं और पंक्ति 2 में सभी 3 हैं।

इनपुट -

matrix =
   [ 1 2 3 4 ]
   [ 1 2 3 4 ]
   [ 1 2 3 4 ]

आउटपुट − मैट्रिक्स में पंक्तियों की संख्या जिसमें समान तत्व होते हैं − 0

स्पष्टीकरण - सभी पंक्तियों में अलग-अलग तत्व होते हैं।

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

हम मैट्रिक्स को वैक्टर के वेक्टर के रूप में ले रहे हैं। हम प्रत्येक वेक्टर को पार करेंगे और प्रत्येक पंक्ति के लिए एक सेट बनाएंगे। इस सेट में पंक्ति तत्व सम्मिलित करते रहें। अंत में यदि इस सेट में केवल 1 तत्व है (सेट आकार लें)। फिर वर्तमान पंक्ति में सभी समान तत्व हैं।

  • मैट्रिक्स को वेक्टर <वेक्टर > मैट्रिक्स के रूप में लें और इसे प्रारंभ करें

  • मैट्रिक्स का उपयोग करके आकार की गणना करें। आकार ()।

  • फ़ंक्शन समान_रो (वेक्टर<वेक्टर> मैट्रिक्स, इंट आकार) मैट्रिक्स और उसका आकार लेता है और समान तत्वों वाली पंक्तियों की संख्या लौटाता है।

  • प्रारंभिक गणना 0 के रूप में लें।

  • लूप के लिए उपयोग करके मैट्रिक्स को ट्रैवर्स करें। i=0 से i=आकार.

  • j=0 से j

  • वर्तमान पंक्ति के तत्वों को संग्रहीत करने के लिए एक सेट set_row लें।

  • set_row.insert(matrix[i][j]) का उपयोग करके वर्तमान पंक्ति के लिए इस सेट में तत्व जोड़ें।

  • अंत में set_row का आकार जांचें। यदि यह 1 है तो इस पंक्ति में सभी समान तत्व हैं। वेतन वृद्धि की संख्या।

  • सभी पंक्तियों के लिए सभी पुनरावृत्तियों के अंत में, अंतिम परिणाम के रूप में वापसी की गणना करें।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int same_rows(vector> matrix, int size){
   int count = 0;
   for (int i = 0; i < size; i++){
      set set_row;
      for (int j = 0; j < matrix[i].size(); j++){
         set_row.insert(matrix[i][j]);
      }
      int set_size = set_row.size();
      if (set_size == 1){
         count++;
      }
   }
   return count;
}
int main(){
   vector<vector<int>> matrix = {
      { 2, 2, 2, 2},
      { 5, 5, 5, 5 },
      { 2, 2, 2, 2 },
      {5, 5, 5, 5}
   };
   int size = matrix.size();
   cout<<"Count of rows in a matrix that consist of same element are: "<<same_rows(matrix, size);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -

Count of rows in a matrix that consist of same element are: 4


  1. C++ में संख्या को विभाजित करने वाली संख्या में अंकों की संख्या ज्ञात कीजिए

    मान लीजिए एक नंबर दिया गया है। हमें उस संख्या के अंकों की संख्या गिननी है जो संख्या को समान रूप से विभाजित करती है। मान लीजिए कि संख्या 1012 है, परिणाम 3 है। तीन अंक 1, 1 और 2 हैं जो समान रूप से 1012 को विभाजित करते हैं। इसे हल करने के लिए, हम मॉड्यूलस ऑपरेशन का उपयोग करके संख्या के प्रत्येक अंक को

  1. सी ++ में सरणी में प्रत्येक तत्व की सर्पासर गणना खोजें

    मान लीजिए कि एक सरणी A दिया गया है। हमें उस सरणी में प्रत्येक तत्व की संख्या को पार करना होगा। पार करने वाले अधिक से अधिक तत्व होते हैं जो वर्तमान तत्व की सरणी के दाईं ओर मौजूद होते हैं। मान लीजिए A ={2, 7, 5, 3, 0, 8, 1}, श्रेष्ठ हैं {4, 1, 1, 2, 0, 0}, तो 2 में दायीं ओर 4 संख्याएँ हैं, जो बड़ी हैं

  1. सी ++ प्रोग्राम 'के' को खोजने के लिए ऐसा है कि प्रत्येक सरणी तत्व के साथ इसका मॉड्यूलस समान है

    इस लेख में, हम एक पूर्णांक k को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे, जैसे कि किसी दिए गए सरणी के प्रत्येक तत्व के साथ इसका मापांक समान हो। उदाहरण के लिए, मान लें कि हमें एक सरणी दी गई है, arr = {12, 22, 32} तब हमारे पास k =1, 2, 5, 10 का आउटपुट मान होता है। y) में दो मानों का मामला लें। तब ह