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

सी ++ में दोहराए गए स्ट्रिंग में वर्णों के लिए प्रश्न

इस समस्या में, हमें एक स्ट्रिंग str और Q प्रश्न दिए गए हैं जिनमें दो मान a और b शामिल हैं। हमारा काम C++ में दोहराए गए स्ट्रिंग में वर्णों के लिए क्वेरीज़ को हल करने के लिए एक प्रोग्राम बनाना है।

समस्या का विवरण

प्रत्येक प्रश्न को हल करने के लिए, हमें यह जांचना होगा कि क्या अनुक्रमणिका a और b के वर्ण समान हैं और तदनुसार मान लौटाएं।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट :str ="ट्यूटोरियल पॉइंट"

क्यू =2

क्वेरी ={{0, 2}, {4, 7}}

आउटपुट :दोहराया

दोहराया नहीं गया

स्पष्टीकरण

प्रश्न 1 के लिए , अनुक्रमणिका 0 पर वर्ण t है, और अनुक्रमणिका 2 का वर्ण t है। दोनों एक ही वर्ण हैं।

प्रश्न 1 के लिए अनुक्रमणिका 4 पर वर्ण r है, और अनुक्रमणिका 7 पर वर्ण l है। दोनों एक ही वर्ण नहीं हैं।

समाधान दृष्टिकोण

समस्या को हल करने के लिए, हम केवल इंडेक्स ए और बी पर तत्वों की समानता की जांच करेंगे। यदि कोई अनुक्रमणिका स्ट्रिंग की लंबाई से अधिक है, तो चरित्र की अनुक्रमणिका प्राप्त करने के लिए (index%len) का मान प्राप्त होगा। और उपयोगकर्ता तुलना के लिए नई अनुक्रमणिका।

उदाहरण

#include <iostream>
#include <string>
using namespace std;
bool isrepeated(string str, int len, int a, int b){
   if(a > len)
      a %= len;
   if(b > len)
      b %= len;
   if(str[a] == str[b])
      return true;
   else
     return false;
}
int main(){
   string str = "tutorialspoint";
   int len = str.length();
   int Q = 3;
   int query[Q][2] = {{0, 2}, {3, 32}, {5, 18}};
   for(int i = 0; i < Q; i++){
      if(isrepeated(str, len, query[i][0], query[i][1]))
         cout<<"Character is repeated in both the index values"<<endl;
      else
         cout<<"Character is not repeated in both the index values"<<endl;
   }
   return 0;
}

आउटपुट

Character is repeated in both the index values
Character is not repeated in both the index values
Character is not repeated in both the index values

  1. एक पेड़ में एक उपट्री के डीएफएस के लिए सी ++ प्रश्न

    इस समस्या में हमें एक बाइनरी ट्री दिया जाता है और हमें एक विशेष नोड से dfs करने की आवश्यकता होती है जिसमें हम दिए गए नोड को रूट मान लेते हैं और उससे dfs निष्पादित करते हैं। उपरोक्त पेड़ में मान लीजिए कि हमें नोड एफ से डीएफएस करने की आवश्यकता है इस ट्यूटोरियल में हम कुछ अपरंपरागत तरीकों को लागू क

  1. सी ++ में स्ट्रिंग एट () फ़ंक्शन

    इस खंड में, हम देखेंगे कि C++ में at a () फंक्शन क्या है। किसी दिए गए स्थान पर वर्ण तक पहुँचने के लिए at() फ़ंक्शन का उपयोग किया जाता है। इस कार्यक्रम में, हम a () फ़ंक्शन का उपयोग करके प्रत्येक वर्ण के माध्यम से पुनरावृति करेंगे और उन्हें अलग-अलग पंक्तियों में प्रिंट करेंगे। उदाहरण कोड #include<

  1. सी ++ में स्ट्रिंग में प्रत्येक वर्ण पर लूप करने का कार्यक्रम

    यहां इस कार्यक्रम में हम देखेंगे कि सी ++ में एक स्ट्रिंग के प्रत्येक अक्षर के माध्यम से कैसे पुनरावृति करें। प्रत्येक वर्ण पर लूप करने के लिए, हम 0 से (स्ट्रिंग लंबाई -1) तक के लूप का उपयोग कर सकते हैं। चरित्र तक पहुँचने के लिए हम या तो सबस्क्रिप्ट ऑपरेटर [ ] या स्ट्रिंग ऑब्जेक्ट के at() फ़ंक्शन का