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

C++ में वर्णानुक्रम में दो स्ट्रिंग्स के सामान्य वर्णों को प्रिंट करें

इस प्रोग्रामिंग समस्या में, हमें दो तार दिए गए हैं। और हमें स्ट्रिंग के सभी वर्णों को ढूंढना है जो दोनों स्ट्रिंग में सामान्य हैं और हमें इन सामान्य वर्णों को वर्णानुक्रम में प्रिंट करना है . और यदि कोई सामान्य अक्षर नहीं आता है तो 'नो कॉमन कैरेक्टर्स' प्रिंट करें। यह देखते हुए कि स्ट्रिंग में सभी लोअरकेस अक्षर नहीं हैं।

आइए एक उदाहरण लेते हैं -

Input : string1 : adsfhslf
   string2 : fsrakf
Output : affs

स्पष्टीकरण - दो तारों के बीच a, f, s होते हैं। इसलिए लेक्सिकोग्राफिक आउटपुट 'एएफएस' है।

Input : string1 : abcde
   string2 : glhyte
Output : No common characters

स्पष्टीकरण - कोई भी वर्ण समान नहीं हैं।

इस समस्या को हल करने के लिए, हमें स्ट्रिंग में सामान्य वर्ण खोजने होंगे। और आउटपुट इन स्ट्रिंग्स का लेक्सिकोग्राफिकल ऑर्डर होगा।

एल्गोरिदम

इस समस्या को हल करने के लिए एल्गोरिथम है -

Step 1 : Create two arrays a1[] and a2[] of size 26 each for counting the number of alphabets in the strings string1 and string2.
Step 2 : traverse a1[] and a2[]. and in sequence print all those numbers that have values in the array.

उदाहरण

आइए इस एल्गोरिथम पर आधारित एक प्रोग्राम बनाते हैं जो कार्य को स्पष्ट करता है -

#include<bits/stdc++.h>
using namespace std;
int main(){
   string string1 = "adjfrdggs";
   string string2 = "gktressd";
   cout<<"The strings are "<<string1<<" and "<<string2;
   cout<<"\nThe common characters are : ";
   int a1[26] = {0};
   int a2[26] = {0};
   int i , j;
   char ch;
   char ch1 = 'a';
   int k = (int)ch1, m;
   for(i = 0 ; i < string1.length() ; i++){
      a1[(int)string1[i] - k]++;
   }
   for(i = 0 ; i < string2.length() ; i++){
      a2[(int)string2[i] - k]++;
   }
   for(i = 0 ; i < 26 ; i++){
      if (a1[i] != 0 and a2[i] != 0){
         for(j = 0 ; j < min(a1[i] , a2[i]) ; j++){
            m = k + i;
            ch = (char)(k + i);
            cout << ch;
         }
      }
   }
   return 0;
}

आउटपुट

The strings are adjfrdggs and gktressd
The common characters are : dgrs

  1. जावा कोड दो स्ट्रिंग्स के सामान्य वर्णों को वर्णानुक्रम में मुद्रित करने के लिए

    दो स्ट्रिंग्स के सामान्य अक्षरों को वर्णानुक्रम में प्रिंट करने के लिए, कोड इस प्रकार है - उदाहरण import java.io.*; import java.util.*; public class Demo{    static void common_chars(String str_1, String str_2){       int[] array_1 = new int[26];       int[] a

  1. पायथन में दो स्ट्रिंग्स में सामान्य शब्द

    मान लीजिए कि हमारे पास दो तार s0 और s1 हैं, वे एक वाक्य का प्रतिनिधित्व कर रहे हैं, हमें इन दो वाक्यों के बीच साझा किए गए अद्वितीय शब्दों की संख्या ज्ञात करनी है। हमें यह ध्यान रखना होगा कि शब्द केस-असंवेदनशील हैं इसलिए टॉम और टीओएम एक ही शब्द हैं। इसलिए, यदि इनपुट s0 =आई लव पायथन कोडिंग, s1 =पायथन

  1. दो स्ट्रिंग्स के सामान्य वर्णों को वर्णानुक्रम में मुद्रित करने के लिए पायथन कोड

    दो उपयोगकर्ता इनपुट स्ट्रिंग्स दिए गए हैं, हमारा काम सभी सामान्य वर्णों को वर्णानुक्रम में प्रिंट करना है। उदाहरण Input: string1: python string2: program Output: op स्पष्टीकरण दो स्ट्रिंग्स के बीच जो अक्षर सामान्य हैं वे हैं o (1 बार), p (1 बार) एल्गोरिदम Step 1: first we take two input string. Ste