तुलना करना कि क्या दो टेक्स्ट स्ट्रिंग्स एनाग्राम हैं, प्रोग्रामिंग कौशल में सुधार के लिए एक बड़ी समस्या हल करने वाला कार्य है।
एक विपर्यय एक अलग स्ट्रिंग के अक्षरों को पुनर्व्यवस्थित करके बनाई गई एक स्ट्रिंग है। यह जाँचना कि क्या दो तार एक-दूसरे के विपर्यय हैं, मुश्किल लग सकता है, लेकिन यह केवल थोड़ा मुश्किल और भ्रामक रूप से सीधा है। इस लेख में, आप सीखेंगे कि कैसे जांचें कि क्या दो तार C++, Python और JavaScript का उपयोग करके एक दूसरे के आरेख हैं।
समस्या का विवरण
आपको दो तार s1 और s2 दिए गए हैं, आपको यह जांचना होगा कि दोनों तार एक दूसरे के आरेख हैं या नहीं।
उदाहरण 1: माना s1 = "रचनात्मक" और s2 = "प्रतिक्रियाशील"।
चूंकि दूसरी स्ट्रिंग पहली स्ट्रिंग के अक्षरों को पुनर्व्यवस्थित करके बनाई जा सकती है और इसके विपरीत, इस प्रकार दोनों स्ट्रिंग एक दूसरे के आरेख हैं।
उदाहरण 2: चलो s1 = "पीटर पाइपर ने मसालेदार मिर्च का एक टुकड़ा उठाया" और s2 = "मसालेदार मिर्च का एक टुकड़ा पीटर पाइपर ने उठाया"।
चूंकि पहली स्ट्रिंग के अक्षरों को पुनर्व्यवस्थित करके और इसके विपरीत दूसरी स्ट्रिंग नहीं बनाई जा सकती है, इस प्रकार दो स्ट्रिंग एक दूसरे के विपर्यय नहीं हैं।
यह जाँचने की प्रक्रिया कि क्या दो तार एक दूसरे के विपर्यय हैं
आप यह जांचने के लिए नीचे दिए गए दृष्टिकोण का अनुसरण कर सकते हैं कि क्या दो तार एक दूसरे के विपर्यय हैं:
- दोनों तारों की लंबाई की तुलना करें।
- यदि दोनों तारों की लंबाई समान नहीं है, तो इसका मतलब है कि वे एक दूसरे के विपर्यय नहीं हो सकते। इस प्रकार, झूठी वापसी करें।
- यदि दोनों तारों की लंबाई समान है, तो आगे बढ़ें।
- दोनों तारों को क्रमबद्ध करें।
- दोनों क्रमबद्ध तारों की तुलना करें।
- यदि दोनों क्रमबद्ध तार समान हैं, तो इसका अर्थ है कि वे एक दूसरे के आरेख हैं। इस प्रकार, सच लौटें।
- यदि दोनों क्रमबद्ध तार अलग हैं, तो इसका मतलब है कि वे एक दूसरे के विपर्यय नहीं हैं। इस प्रकार, झूठी वापसी करें।
संबंधित: कैसे जांचें कि कोई स्ट्रिंग एक पालिंड्रोम है या नहीं?
C++ प्रोग्राम यह जांचने के लिए कि क्या दो तार एक दूसरे के विपर्यय हैं?
नीचे C++ प्रोग्राम यह जांचने के लिए है कि क्या दो तार एक दूसरे के विपर्यय हैं या नहीं:
#शामिल करना
नेमस्पेस एसटीडी का उपयोग करना;
बूल चेकअनाग्राम (स्ट्रिंग s1, स्ट्रिंग s2)
{
int size1 = s1.length ();
int size2 = s2.length ();
// यदि दोनों तारों की लंबाई समान नहीं है,
// इसका मतलब है कि वे एक दूसरे के विपर्यय नहीं हो सकते।
// इस प्रकार, झूठी वापसी करें।
अगर (आकार 1! = आकार 2)
{
विवरण झूठा है;
}
सॉर्ट (s1.begin (), s1.end ());
सॉर्ट (s2.begin (), s2.end ());
के लिए (इंट आई = 0; मैं {
अगर (s1[i]!= s2[i])
{
विवरण झूठा है;
}
}
सच लौटना;
}
मुख्य प्रवेश बिंदु()
{
स्ट्रिंग s1 = "सुनो";
स्ट्रिंग s2 = "चुप";
cout << "स्ट्रिंग 1:" << s1 << endl;
cout << "स्ट्रिंग 2:" << s2 << endl;
अगर (चेक एनाग्राम्स (s1, s2))
{
cout << "हाँ, दो तार एक दूसरे के आरेख हैं" << endl;
}
अन्य
{
cout << "नहीं, दो तार एक दूसरे के आरेख नहीं हैं" << endl;
}
स्ट्रिंग s3 = "MUO में आपका स्वागत है";
स्ट्रिंग s4 = "MUO टू वेलकम";
cout << "स्ट्रिंग 3:" << s3 << endl;
cout << "स्ट्रिंग 4:" << s4 << endl;
अगर (चेक एनाग्राम (s3, s4))
{
cout << "हाँ, दो तार एक दूसरे के आरेख हैं" << endl;
}
अन्य
{
cout << "नहीं, दो तार एक दूसरे के आरेख नहीं हैं" << endl;
}
string s5 = "पीटर पाइपर ने मसालेदार मिर्च का एक टुकड़ा उठाया";
स्ट्रिंग s6 = "पीटर पाइपर द्वारा चुनी गई मसालेदार मिर्च का एक टुकड़ा";
cout << "स्ट्रिंग 5:" << s5 << endl;
cout << "स्ट्रिंग 6:" << s6 << endl;
अगर (चेक एनाग्राम (s5, s6))
{
cout << "हाँ, दो तार एक दूसरे के आरेख हैं" << endl;
}
अन्य
{
cout << "नहीं, दो तार एक दूसरे के आरेख नहीं हैं" << endl;
}
स्ट्रिंग s7 = "वह समुद्र के किनारे सीपियां बेचती है";
स्ट्रिंग s8 = "समुद्र के किनारे के किनारे";
cout << "स्ट्रिंग 7:" << s7 << endl;
cout << "स्ट्रिंग 8:" << s8 << endl;
अगर (चेकएनाग्राम्स (s7, s8))
{
cout << "हाँ, दो तार एक दूसरे के आरेख हैं" << endl;
}
अन्य
{
cout << "नहीं, दो तार एक दूसरे के आरेख नहीं हैं" << endl;
}
स्ट्रिंग s9 = "रचनात्मक";
स्ट्रिंग s10 = "प्रतिक्रियाशील";
cout << "स्ट्रिंग 9:" << s9 << endl;
cout << "स्ट्रिंग 10:" << s10 << endl;
अगर (चेक एनाग्राम (s9, s10))
{
cout << "हाँ, दो तार एक दूसरे के आरेख हैं" << endl;
}
अन्य
{
cout << "नहीं, दो तार एक दूसरे के आरेख नहीं हैं" << endl;
}
वापसी 0;
}
आउटपुट:
स्ट्रिंग 1: सुनो
स्ट्रिंग 2: चुप
हाँ, दो तार एक दूसरे के आरेख हैं
स्ट्रिंग 3: MUO में आपका स्वागत है
स्ट्रिंग 4: एमयूओ टू वेलकम
हाँ, दो तार एक दूसरे के आरेख हैं
स्ट्रिंग 5: पीटर पाइपर ने मसालेदार मिर्च का एक टुकड़ा उठाया
स्ट्रिंग 6: मसालेदार मिर्च का एक टुकड़ा पीटर पाइपर ने उठाया
नहीं, दो तार एक दूसरे के विपर्यय नहीं हैं
स्ट्रिंग 7: वह समुद्र के किनारे सीपियां बेचती है
स्ट्रिंग 8: समुंदर के किनारे का सीप
नहीं, दो तार एक दूसरे के विपर्यय नहीं हैं
स्ट्रिंग 9: रचनात्मक
स्ट्रिंग 10: प्रतिक्रियाशील
हाँ, दो तार एक दूसरे के आरेख हैं
संबंधित: एक स्ट्रिंग में दिए गए चरित्र की घटनाओं की गणना कैसे करें
पायथन प्रोग्राम यह जाँचने के लिए कि क्या दो तार एक दूसरे के विपर्यय हैं
नीचे यह जांचने के लिए पायथन प्रोग्राम है कि दो तार एक दूसरे के आरेख हैं या नहीं:
def checkAnagrams (s1, s2):
size1 = लेन (s1)
size2 = लेन (s2)
# यदि दोनों तारों की लंबाई समान नहीं है,
# इसका मतलब है कि वे एक दूसरे के विपर्यय नहीं हो सकते।
# इस प्रकार, झूठी वापसी करें।
अगर आकार1!= आकार2:
वापसी 0
s1 = क्रमबद्ध (s1)
s2 = क्रमबद्ध (s2)
मेरे लिए रेंज में (0, आकार 1):
अगर s1[i] != s2[i]:
विवरण झूठा है
रिटर्न ट्रू
s1 = "सुनो"
s2 = "चुप"
प्रिंट ("स्ट्रिंग 1:", s1)
प्रिंट ("स्ट्रिंग 2:", s2)
अगर (चेकएनाग्राम्स (s1, s2)):
प्रिंट ("हाँ, दो तार एक दूसरे के आरेख हैं")
अन्य:
प्रिंट ("नहीं, दो तार एक दूसरे के आरेख नहीं हैं")
s3 = "एमयूओ में आपका स्वागत है"
s4 = "एमयूओ टू वेलकम"
प्रिंट ("स्ट्रिंग 3:", s3)
प्रिंट ("स्ट्रिंग 4:", s4)
अगर (चेकएनाग्राम्स (s3, s4)):
प्रिंट ("हाँ, दो तार एक दूसरे के आरेख हैं")
अन्य:
प्रिंट ("नहीं, दो तार एक दूसरे के आरेख नहीं हैं")
s5 = "पीटर पाइपर ने मसालेदार मिर्च का एक टुकड़ा उठाया"
s6 = "मसालेदार मिर्च का एक टुकड़ा पीटर पाइपर ने उठाया"
प्रिंट ("स्ट्रिंग 5:", s5)
प्रिंट ("स्ट्रिंग 6:", s6)
अगर (चेकएनाग्राम्स (s5, s6)):
प्रिंट ("हाँ, दो तार एक दूसरे के आरेख हैं")
अन्य:
प्रिंट ("नहीं, दो तार एक दूसरे के आरेख नहीं हैं")
s7 = "वह समुद्र के किनारे सीपियां बेचती है"
s8 = "समुद्र के किनारे के किनारे"
प्रिंट ("स्ट्रिंग 7:", s7)
प्रिंट ("स्ट्रिंग 8:", s8)
अगर (चेकएनाग्राम्स (s7, s8)):
प्रिंट ("हाँ, दो तार एक दूसरे के आरेख हैं")
अन्य:
प्रिंट ("नहीं, दो तार एक दूसरे के आरेख नहीं हैं")
s9 = "रचनात्मक"
s10 = "प्रतिक्रियाशील"
प्रिंट ("स्ट्रिंग 9:", s9)
प्रिंट ("स्ट्रिंग 10:", s10)
अगर (चेकएनाग्राम्स (s9, s10)):
प्रिंट ("हाँ, दो तार एक दूसरे के आरेख हैं")
अन्य:
प्रिंट ("नहीं, दो तार एक दूसरे के आरेख नहीं हैं")
आउटपुट:
स्ट्रिंग 1: सुनो
स्ट्रिंग 2: चुप
हाँ, दो तार एक दूसरे के आरेख हैं
स्ट्रिंग 3: MUO में आपका स्वागत है
स्ट्रिंग 4: एमयूओ टू वेलकम
हाँ, दो तार एक दूसरे के आरेख हैं
स्ट्रिंग 5: पीटर पाइपर ने मसालेदार मिर्च का एक टुकड़ा उठाया
स्ट्रिंग 6: मसालेदार मिर्च का एक टुकड़ा पीटर पाइपर ने उठाया
नहीं, दो तार एक दूसरे के विपर्यय नहीं हैं
स्ट्रिंग 7: वह समुद्र के किनारे सीपियां बेचती है
स्ट्रिंग 8: समुंदर के किनारे का सीप
नहीं, दो तार एक दूसरे के विपर्यय नहीं हैं
स्ट्रिंग 9: रचनात्मक
स्ट्रिंग 10: प्रतिक्रियाशील
हाँ, दो तार एक दूसरे के आरेख हैं
संबंधित: एक स्ट्रिंग में स्वर, व्यंजन, अंक और विशेष वर्ण कैसे खोजें
जांचें कि क्या दो तार जावास्क्रिप्ट में एक दूसरे के विपर्यय हैं
यह जांचने के लिए जावास्क्रिप्ट प्रोग्राम नीचे दिया गया है कि दो तार एक दूसरे के आरेख हैं या नहीं:
फ़ंक्शन चेकअनाग्राम (s1, s2) {
चलो size1 = s1.लंबाई;
चलो size2 = s2.length;
// यदि दोनों तारों की लंबाई समान नहीं है,
// इसका मतलब है कि वे एक दूसरे के विपर्यय नहीं हो सकते।
// इस प्रकार, झूठी वापसी करें।
अगर (आकार 1! = आकार 2)
{
विवरण झूठा है;
}
s1.सॉर्ट ();
s2.sort ();
के लिए (चलो मैं = 0; मैं {
अगर (s1[i]!= s2[i])
{
विवरण झूठा है;
}
}
सच लौटना;
}
वर s1 = "सुनो";
वर s2 = "चुप";
document.write ("स्ट्रिंग 1:" + s1 + "
");
document.write ("स्ट्रिंग 2:" + s2 + "
");
अगर (चेक एनाग्राम्स (s1.split(""), s2.split(""))) {
document.write ("हाँ, दो तार एक दूसरे के आरेख हैं" + "
");
} अन्य {
document.write ("नहीं, दो तार एक दूसरे के आरेख नहीं हैं" + "
");
}
var s3 = "एमयूओ में आपका स्वागत है";
var s4 = "एमयूओ टू वेलकम";
document.write ("स्ट्रिंग 3:" + s3 + "
");
document.write ("स्ट्रिंग 4:" + s4 + "
");
अगर (चेकएनाग्राम्स (s3.split(""), s4.split(""))) {
document.write ("हाँ, दो तार एक दूसरे के आरेख हैं" + "
");
} अन्य {
document.write ("नहीं, दो तार एक दूसरे के आरेख नहीं हैं" + "
");
}
var s5 = "पीटर पाइपर ने मसालेदार मिर्च का एक टुकड़ा उठाया";
var s6 = "पीटर पाइपर द्वारा चुनी गई मसालेदार मिर्च का एक टुकड़ा";
दस्तावेज़.लिखें ("स्ट्रिंग 5:" + s5 + "
");
document.write ("स्ट्रिंग 6:" + s6 + "
");
अगर (चेकएनाग्राम्स (s5.split(""), s6.split(""))) {
document.write ("हाँ, दो तार एक दूसरे के आरेख हैं" + "
");
} अन्य {
document.write ("नहीं, दो तार एक दूसरे के आरेख नहीं हैं" + "
");
}
var s7 = "वह समुद्र के किनारे सीपियां बेचती है";
var s8 = "समुद्र के किनारे सीपियाँ";
document.write ("स्ट्रिंग 7:" + s7 + "
");
document.write ("स्ट्रिंग 8:" + s8 + "
");
अगर (चेकएनाग्राम्स (s7.split(""), s8.split(""))) {
document.write ("हाँ, दो तार एक दूसरे के आरेख हैं" + "
");
} अन्य {
document.write ("नहीं, दो तार एक दूसरे के आरेख नहीं हैं" + "
");
}
वर s9 = "रचनात्मक";
वर s10 = "प्रतिक्रियाशील";
document.write ("स्ट्रिंग 9:" + s9 + "
");
document.write ("स्ट्रिंग 10:" + s10 + "
");
अगर (चेकएनाग्राम्स (s9.split(""), s10.split(""))) {
document.write ("हाँ, दो तार एक दूसरे के आरेख हैं" + "
");
} अन्य {
document.write ("नहीं, दो तार एक दूसरे के आरेख नहीं हैं" + "
");
}
आउटपुट:
स्ट्रिंग 1: सुनो
स्ट्रिंग 2: चुप
हाँ, दो तार एक दूसरे के आरेख हैं
स्ट्रिंग 3: MUO में आपका स्वागत है
स्ट्रिंग 4: एमयूओ टू वेलकम
हाँ, दो तार एक दूसरे के आरेख हैं
स्ट्रिंग 5: पीटर पाइपर ने मसालेदार मिर्च का एक टुकड़ा उठाया
स्ट्रिंग 6: मसालेदार मिर्च का एक टुकड़ा पीटर पाइपर ने उठाया
नहीं, दो तार एक दूसरे के विपर्यय नहीं हैं
स्ट्रिंग 7: वह समुद्र के किनारे सीपियां बेचती है
स्ट्रिंग 8: समुंदर के किनारे का सीप
नहीं, दो तार एक दूसरे के विपर्यय नहीं हैं
स्ट्रिंग 9: रचनात्मक
स्ट्रिंग 10: प्रतिक्रियाशील
हाँ, दो तार एक दूसरे के आरेख हैं
संबंधित: आप किसी वर्ण का ASCII मान कैसे ज्ञात करते हैं?
कोड सीखने के लिए सही संसाधनों का उपयोग करें
यदि आप अपने कोडिंग कौशल को मजबूत करना चाहते हैं, तो नई अवधारणाओं को सीखना और उनका उपयोग करके समय बिताना महत्वपूर्ण है। ऐसा करने का एक तरीका प्रोग्रामिंग ऐप्स के साथ है, जो आपको एक ही समय में मज़े करते हुए विभिन्न प्रोग्रामिंग अवधारणाओं को सीखने में मदद करेगा।
अपने कोडिंग कौशल को ब्रश करना चाहते हैं? ये ऐप और वेबसाइट आपको अपनी गति से प्रोग्रामिंग सीखने में मदद करेंगे।
आगे पढ़िए
- प्रोग्रामिंग
- जावास्क्रिप्ट
- अजगर
- सी प्रोग्रामिंग
युवराज दिल्ली विश्वविद्यालय, भारत में कंप्यूटर विज्ञान के स्नातक छात्र हैं। उन्हें फुल स्टैक वेब डेवलपमेंट का शौक है। जब वह नहीं लिख रहा होता है, तो वह विभिन्न तकनीकों की गहराई की खोज कर रहा होता है।
हमारे समाचार पत्र के सदस्य बनें
तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!
सब्सक्राइब करने के लिए यहां क्लिक करें