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

C++ में बढ़ते क्रम में सॉर्ट न किए गए कॉलम की संख्या गिनें


हमें समान लंबाई के स्ट्रिंग्स की एक सरणी दी गई है। लक्ष्य कॉलम ढूंढना है, (स्ट्रिंग्स का मैट्रिक्स) जो बढ़ते क्रम में सॉर्ट नहीं हैं। उदाहरण के लिए, स्ट्रिंग में प्रत्येक पहला कैरेक्टर अगले स्ट्रिंग के पहले कैरेक्टर के साथ तुलना की जाती है और इसी तरह अंतिम स्ट्रिंग तक। यदि वे बढ़ते क्रम में नहीं हैं, तो गणना बढ़ाएं। सभी दूसरे कैरेक्टर्स के लिए ऐसा करें, फिर सभी स्ट्रिंग्स के तीसरे कैरेक्टर्स और इसी तरह अंतिम कैरेक्टर तक।

इनपुट

Arr[]= { "abc", "bcd", "def" }

आउटपुट

कॉलम की संख्या: 0

व्याख्या: प्रत्येक कॉलम के लिए,

कॉलम 1: इंडेक्स 0 पर कैरेक्टर: a

कॉलम 2: इंडेक्स 1 पर कैरेक्टर: b

कॉलम 3: इंडेक्स 2 पर कैरेक्टर: c

कॉलम में सभी संबंधित कैरेक्टर बढ़ते क्रम में सॉर्टेड हैं।

इनपुट

Arr[]= { "dbd", "faf", "eeg" }

आउटपुट

कॉलम की संख्या: 2

व्याख्या: प्रत्येक कॉलम के लिए,

कॉलम 1 - इंडेक्स 0 पर कैरेक्टर: dg

कॉलम 2 - इंडेक्स 1 पर कैरेक्टर: b>a

कॉलम 3 - इंडेक्स 2 पर कैरेक्टर: d

कॉलम 1 और 2 में कैरेक्टर बिना बढ़ते क्रम के हैं। Count=2

प्रयुक्त दृष्टिकोण

  • कैरेक्टर सरणी arr[][] समान लंबाई के स्ट्रिंग्स को संग्रहीत करने के लिए उपयोग की जाती है।
  • फ़ंक्शन countCols(char str[3][4],int n,int len) एक स्ट्रिंग सरणी, उसमें स्ट्रिंग्स की संख्या और प्रत्येक स्ट्रिंग की लंबाई को इनपुट के रूप में लेता है और उन कॉलम की संख्या लौटाता है जो बढ़ते क्रम में नहीं हैं।
  • count को 0 से आरंभ करें।
  • Col का उपयोग वर्तमान कॉलम को दर्शाने के लिए किया जाता है। (सभी स्ट्रिंग्स के लिए सामान्य इंडेक्स)।
  • पहले इंडेक्स से शुरू करके प्रत्येक स्ट्रिंग को एक साथ for लूप का उपयोग करके स्ट्रिंग की लंबाई तक पार करें (सभी के लिए समान लंबाई)।
  • यहां प्रत्येक स्ट्रिंग 3 कैरेक्टर्स की है इसलिए हम str[col][j]>str[col+1][j-1] || str[col+1][j]>str[col+2][j-1] की तुलना करते हैं। यदि कोई शर्त सत्य है, तो count बढ़ाएं।
  • for लूप के अंत में count में मौजूद परिणाम लौटाएं।

उदाहरण कोड

#include <bits/stdc++.h> using namespace std; int countCols(char str[3][4],int n,int len){ int i,j; int count=0; int col=0; for(j=0;jstr[col+1][j-1] || str[col+1][j]>str[col+2][j-1] ) count++; } return count; } int main(){ char arr[3][4]={"abc", "daf", "ghi"}; cout<<"\nसॉर्ट न किए गए कॉलम: "<<countCols(arr,3,3); return 0; }

आउटपुट

सॉर्ट न किए गए कॉलम: 2

  1. - C++ में सॉर्टेड बाइनरी ऐरे में 1s गिनें

    इस ट्यूटोरियल में, हम सॉर्टेड बाइनरी ऐरे में 1s खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे।इसके लिए हमें केवल 1 और 0 वाला एक ऐरे प्रदान किया जाएगा। हमारा कार्य ऐरे में मौजूद 1s की संख्या गिनना है।उदाहरण#include <bits/stdc++.h> using namespace std; //1 की गिनती लौटाना int countOnes(bool arr[], i

  1. - C++ में सॉर्टेड एरे में निरपेक्ष विशिष्ट गिनती

    एक एरे समान डेटा प्रकार के तत्वों का एक संग्रह है। एक सॉर्टेड एरे एक एरे है जिसमें तत्व आरोही या अवरोही क्रम के अनुक्रम में संग्रहीत होते हैं। विशिष्ट गिनती उन तत्वों की संख्या है जो समान नहीं हैं। निरपेक्ष विशिष्ट गिनती तत्वों के निरपेक्ष मान की विशिष्ट गिनती है यानी चिह्न के बिना मान (अनसाइन्ड मा

  1. - C++ कैरेक्टर कॉन्स्टेंट्स क्या हैं?

    कैरेक्टर कॉन्स्टेंट्स सोर्स कैरेक्टर सेट के एक या अधिक सदस्य हैं, यानी वह कैरेक्टर सेट जिसमें प्रोग्राम लिखा जाता है, सिंगल कोटेशन मार्क्स () से घिरे होते हैं। इनका उपयोग एक्सीक्यूशन कैरेक्टर सेट में कैरेक्टर्स को दर्शाने के लिए किया जाता है, यानी वह कैरेक्टर सेट जिस मशीन पर प्रोग्राम चलता है। इन्ह