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

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


इस प्रोग्रामिंग समस्या में, हमें दो स्ट्रिंग्स दी गई हैं। और हमें स्ट्रिंग के उन सभी वर्णों को ढूंढना है जो दोनों स्ट्रिंग्स में सामान्य हैं और हमें इन सामान्य वर्णों को वर्णमाला क्रम में प्रिंट करना है। और यदि कोई सामान्य अक्षर नहीं मिलता तो 'NO COMMON CHARACTERS' प्रिंट करें। दिया गया है कि स्ट्रिंग में सभी लोअरकेस अक्षर नहीं हैं।

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

Input : string1 : adsfhslf   string2 : fsrakf Output : affs

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

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

व्याख्या - कोई वर्ण सामान्य नहीं हैं।

इस समस्या को हल करने के लिए, हमें स्ट्रिंग में सामान्य वर्ण ढूंढने की आवश्यकता है। और आउटपुट इन स्ट्रिंग्स का लेक्सिकोग्राफिकल क्रम होगा।

एल्गोरिदम

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

चरण 1 : स्ट्रिंग string1 और string2 में वर्णमाला की गिनती के लिए आकार 26 के दो सरणी a1[] और a2[] बनाएं। चरण 2 : a1[] और a2[] को ट्रैवर्स करें। और क्रम में उन सभी संख्याओं को प्रिंट करें जिनके सरणी में मान हैं।

उदाहरण

आइए इस एल्गोरिदम के आधार पर कार्य को दर्शाने वाला एक प्रोग्राम बनाते हैं -

#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. - Java कोड: दो स्ट्रिंग्स के सामान्य कैरेक्टर्स को वर्णमाला क्रम में प्रिंट करें

    दो स्ट्रिंग्स के सामान्य कैरेक्टर्स को वर्णमाला क्रम में प्रिंट करने के लिए, कोड निम्नलिखित है:उदाहरण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[] array_2 = new int[26]; int str_len_1 = str_1.length()

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

    समस्या विवरण दो स्ट्रिंग्स s0 और s1 दी गई हैं जो वाक्यों को दर्शाती हैं। हमें इन दोनों वाक्यों के बीच साझा यूनिक शब्दों की संख्या ज्ञात करनी है। शब्द केस-इनसेंसिटिव हैं (जैसे tom और ToM समान हैं)। उदाहरण इनपुट: s0 = i love python coding, s1 = coding in python is easy आउटपुट: 2 (कॉमन शब्द: python, c

  1. - पायथन कोड: दो स्ट्रिंग्स के कॉमन कैरेक्टर्स को अल्फाबेटिकल ऑर्डर में प्रिंट करना

    दो यूजर इनपुट स्ट्रिंग्स दी गई हैं, हमारा कार्य सभी कॉमन कैरेक्टर्स को अल्फाबेटिकल ऑर्डर में प्रिंट करना है।उदाहरणInput: string1: python string2: program Output: opव्याख्यादोनों स्ट्रिंग्स के बीच कॉमन अक्षर हैं o (1 बार), p (1 बार)।एल्गोरिदमचरण 1: पहले हम दो इनपुट स्ट्रिंग लेते हैं। चरण 2: अगला हम इ