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

C++ में डिक्रिप्टेड स्ट्रिंग का k'th कैरेक्टर खोजें

मान लीजिए कि हमारे पास एक एन्कोडेड स्ट्रिंग है, जहां सबस्ट्रिंग के दोहराव को सबस्ट्रिंग के रूप में दर्शाया जाता है और उसके बाद सबस्ट्रिंग की गिनती होती है। इसलिए यदि स्ट्रिंग ab2cd2 की तरह है, तो यह ababcdcd को इंगित करता है, और यदि k =4 है, तो यह kth वर्ण लौटाएगा, जो कि b यहाँ है।

इसे हल करने के लिए, हम शुरू में खाली डिक्रिप्टेड स्ट्रिंग लेते हैं, फिर सबस्ट्रिंग और इसकी आवृत्ति को एक-एक करके पढ़कर स्ट्रिंग को डीकंप्रेस करते हैं। फिर डिक्रिप्टेड स्ट्रिंग में करंट सबस्ट्रिंग को उसकी फ्रीक्वेंसी से जोड़ दें। हम इस प्रक्रिया को तब तक दोहराएंगे जब तक कि स्ट्रिंग समाप्त न हो जाए, और Kth वर्ण को डिक्रिप्टेड स्ट्रिंग से प्रिंट करें।

उदाहरण

#include<iostream>
using namespace std;
char findKthCharacter(string str,int k) {
   string decrypted = "";
   string temp;
   int occurrence = 0;
   for (int i=0; str[i]!='\0'; ){
      temp = "";
      occurrence = 0;
      while (str[i]>='a' && str[i]<='z'){
         temp += str[i];
         i++;
      }
      while (str[i]>='1' && str[i]<='9') {
         occurrence = occurrence*10 + str[i] - '0';
         i++;
      }
      for (int j=1; j<=occurrence; j++)
      decrypted = decrypted + temp;
   }
   if (occurrence==0)
   decrypted = decrypted + temp;
   return decrypted[k-1];
}
int main() {
   string str = "ab4c12ed3";
   int k = 21;
   cout << k << "th character in decrypted string: " << findKthCharacter(str, k);
}

आउटपुट

डिक्रिप्टेड स्ट्रिंग में
21th character in decrypted string: e

  1. सी ++ प्रोग्राम एक स्ट्रिंग की लंबाई का पता लगाने के लिए

    एक स्ट्रिंग एक आयामी वर्ण सरणी है जिसे एक शून्य वर्ण द्वारा समाप्त किया जाता है। स्ट्रिंग की लंबाई शून्य वर्ण से पहले स्ट्रिंग में वर्णों की संख्या है। उदाहरण के लिए। char str[] = “The sky is blue”; Number of characters in the above string = 15 एक स्ट्रिंग की लंबाई ज्ञात करने के लिए एक

  1. C++ प्रोग्राम किसी वर्ण का ASCII मान ज्ञात करने के लिए

    ASCII (अमेरिकन स्टैंडर्ड कोड फॉर इंफॉर्मेशन इंटरचेंज) टेबल में 128 कैरेक्टर हैं, जिनका मान 0 से 127 तक है। विभिन्न वर्णों के कुछ ASCII मान इस प्रकार हैं - चरित्र ASCII Value A 65 a 97 Z 90 z 122 $ 36 & 38 ? 63 एक प्रोग्राम जो किसी कैरेक्टर का ASCII मान ढूंढता है, वह इस प्रकार दिया जाता

  1. डिक्रिप्टेड स्ट्रिंग के k-वें वर्ण का पता लगाएं - पायथन में सेट - 2

    मान लीजिए कि हमारे पास एक एन्कोडेड स्ट्रिंग है जहां सबस्ट्रिंग के दोहराव को सबस्ट्रिंग के रूप में दर्शाया जाता है और उसके बाद सबस्ट्रिंग की गिनती होती है। उदाहरण के तौर पर, यदि स्ट्रिंग pq2rs2 और k=5 है, तो आउटपुट r होगा, ऐसा इसलिए है क्योंकि डिक्रिप्टेड स्ट्रिंग pqpqrsrs है और 5वां वर्ण r है। हमें