सी ++, पायथन, सी, या जावास्क्रिप्ट: कोई फर्क नहीं पड़ता कि आप किस एल्गोरिथ्म का उपयोग करते हैं, सममित तार निर्धारित करने के लिए इस एल्गोरिथ्म का उपयोग करें।
एक स्ट्रिंग को सममित कहा जाता है यदि स्ट्रिंग के दोनों भाग समान हों। इस लेख में, आप यह निर्धारित करने के लिए एक एल्गोरिदम सीखेंगे कि दी गई स्ट्रिंग सममित है या नहीं। आप यह भी सीखेंगे कि इस एल्गोरिथम को C++, Python, C, और JavaScript जैसी सबसे लोकप्रिय प्रोग्रामिंग भाषाओं में कैसे लागू किया जाए।
समस्या का विवरण
आपको एक स्ट्रिंग दी गई है। आपको यह निर्धारित करने की आवश्यकता है कि दी गई स्ट्रिंग सममित है या नहीं।
उदाहरण 1: चलो str = "अबाब"।
दिया गया सममित है क्योंकि डोरी के दोनों भाग समान हैं।
इस प्रकार, आउटपुट "हां, दी गई स्ट्रिंग सममित है"।
उदाहरण 2: चलो str = "मैडम"।
यदि स्ट्रिंग की लंबाई विषम है, तो स्ट्रिंग के मध्य वर्ण को अनदेखा कर दिया जाता है। इसलिए, पहला आधा = "मा" और दूसरा आधा = "हूँ"। दोनों पड़ाव एक जैसे नहीं हैं।
इस प्रकार, आउटपुट "नहीं, दी गई स्ट्रिंग सममित नहीं है"।
उदाहरण 3: चलो str = "मैडमा"।
पहला आधा = "मा" और दूसरा आधा = "मा"। डोरी के दोनों भाग समान हैं।
इस प्रकार, आउटपुट "हां, दी गई स्ट्रिंग सममित है"।
एल्गोरिदम यह निर्धारित करने के लिए कि कोई दिया गया स्ट्रिंग सममित है या नहीं
आप नीचे दिए गए तरीके का पालन करके यह निर्धारित कर सकते हैं कि दी गई स्ट्रिंग सममित है या नहीं:
- स्ट्रिंग की लंबाई पाएं।
- स्ट्रिंग के मिडइंडेक्स का पता लगाएं।
- यदि डोरी की लंबाई सम है, मिडइंडेक्स = लंबाई/2.
- यदि स्ट्रिंग की लंबाई विषम है, मिडइंडेक्स = (लंबाई/2) + 1. इस मामले में, तुलना के लिए स्ट्रिंग के मध्य वर्ण को अनदेखा कर दिया जाता है।
- दो पॉइंटर वेरिएबल को इनिशियलाइज़ करें सूचक1 तथा सूचक २. सूचक1 स्ट्रिंग के पहले वर्ण (0) की अनुक्रमणिका को संग्रहीत करेगा और सूचक २ स्ट्रिंग के मध्य वर्ण (मिडइंडेक्स) की अनुक्रमणिका संग्रहीत करेगा।
- अब a. का उपयोग करके स्ट्रिंग के दोनों हिस्सों के संगत वर्णों की तुलना करें जबकि कुंडली। भागो जबकि तब तक घुमाओ सूचक1.
- अनुक्रमित पर संबंधित वर्णों की तुलना करें सूचक1 तथा सूचक २.
- यदि कोई संगत वर्ण भिन्न पाया जाता है, तो वापस लौटें असत्य. और यदि कोई संगत वर्ण भिन्न नहीं पाया जाता है, तो वापस लौटें सच.
- इसके अलावा, के मूल्य में वृद्धि सुनिश्चित करें सूचक1 तथा सूचक २ प्रत्येक पुनरावृत्ति में।
सी ++ प्रोग्राम यह निर्धारित करने के लिए कि कोई दिया गया स्ट्रिंग सममित है या नहीं
नीचे दी गई स्ट्रिंग सममित है या नहीं यह निर्धारित करने के लिए C++ प्रोग्राम नीचे दिया गया है:
// सी ++ प्रोग्राम यह जांचने के लिए कि स्ट्रिंग सममित है या नहीं
#शामिल करना
नेमस्पेस एसटीडी का उपयोग करना;
// यह जांचने के लिए कार्य करें कि स्ट्रिंग सममित है या नहीं
बूल सममित है (स्ट्रिंग स्ट्र)
{
इंट मिडइंडेक्स;
इंट लंबाई = str.length ();
// यदि स्ट्रिंग की लंबाई सम है
अगर (लंबाई% 2 == 0)
{
मिडइंडेक्स = लंबाई/2;
}
// यदि स्ट्रिंग की लंबाई विषम है
अन्य
{
मिडइंडेक्स = लंबाई/2 + 1;
}
इंट पॉइंटर1 = 0;
इंट पॉइंटर 2 = मिडइंडेक्स;
जबकि (सूचक1{
अगर (str [सूचक 1] == str [सूचक 2])
{
सूचक १ + = १;
सूचक २ + = १;
}
अन्य
{
विवरण झूठा है;
}
}
सच लौटना;
}
// ड्राइवर कोड
मुख्य प्रवेश बिंदु()
{
// टेस्ट केस: 1
स्ट्रिंग str1 = "अबाब";
cout << "स्ट्रिंग 1:" << str1 << endl;
अगर (सममितीय (str1) है)
{
cout << "हां, दी गई स्ट्रिंग सममित है" << endl;
}
अन्य
{
cout << "नहीं, दी गई स्ट्रिंग सममित नहीं है" << endl;
}
// टेस्ट केस: 2
स्ट्रिंग str2 = "मैडम";
cout << "स्ट्रिंग 2:" << str2 << endl;
अगर (सममितीय (str2) है)
{
cout << "हां, दी गई स्ट्रिंग सममित है" << endl;
}
अन्य
{
cout << "नहीं, दी गई स्ट्रिंग सममित नहीं है" << endl;
}
// टेस्ट केस: 3
स्ट्रिंग str3 = "मैडमा";
cout << "स्ट्रिंग 3:" << str3 << endl;
अगर (सममितीय (str3) है)
{
cout << "हां, दी गई स्ट्रिंग सममित है" << endl;
}
अन्य
{
cout << "नहीं, दी गई स्ट्रिंग सममित नहीं है" << endl;
}
// टेस्ट केस: 4
स्ट्रिंग str4 = "नागरिक";
cout << "स्ट्रिंग 4:" << str4 << endl;
अगर (सममितीय (str4) है)
{
cout << "हां, दी गई स्ट्रिंग सममित है" << endl;
}
अन्य
{
cout << "नहीं, दी गई स्ट्रिंग सममित नहीं है" << endl;
}
// टेस्ट केस: 5
स्ट्रिंग str5 = "खोखो";
cout << "स्ट्रिंग 5:" << str5 << endl;
अगर (सममितीय (str5) है)
{
cout << "हां, दी गई स्ट्रिंग सममित है" << endl;
}
अन्य
{
cout << "नहीं, दी गई स्ट्रिंग सममित नहीं है" << endl;
}
वापसी 0;
}
आउटपुट:
स्ट्रिंग 1: अबाबा
हाँ, दी गई स्ट्रिंग सममित है
स्ट्रिंग 2: मैडम
नहीं, दी गई स्ट्रिंग सममित नहीं है
स्ट्रिंग 3: मदमा
हाँ, दी गई स्ट्रिंग सममित है
स्ट्रिंग 4: सिविक
नहीं, दी गई स्ट्रिंग सममित नहीं है
स्ट्रिंग 5: खोखो
हाँ, दी गई स्ट्रिंग सममित है
संबंधित: सी ++, पायथन और जावास्क्रिप्ट में एक स्ट्रिंग को कैसे उलटें?
पायथन प्रोग्राम यह निर्धारित करने के लिए कि एक दिया गया स्ट्रिंग सममित है या नहीं
नीचे दी गई स्ट्रिंग सममित है या नहीं यह निर्धारित करने के लिए पायथन प्रोग्राम है:
# पायथन प्रोग्राम यह जांचने के लिए कि स्ट्रिंग सममित है या नहीं
# यह जांचने के लिए कार्य करें कि स्ट्रिंग सममित है या नहीं
def सममित (str) है:
मिडइंडेक्स = 0
लंबाई = लेन (str)
अगर लंबाई% 2 == 0:
मिडइंडेक्स = लंबाई//2
अन्य:
मिडइंडेक्स = लंबाई//2 + 1
सूचक 1 = 0
पॉइंटर 2 = मिडइंडेक्स
जबकि सूचक1अगर (str [सूचक 1] == str [सूचक 2]):
सूचक1 += 1
सूचक2 += 1
अन्य:
विवरण झूठा है
रिटर्न ट्रू
# टेस्ट केस: 1
str1 = "अबाब"
प्रिंट ("स्ट्रिंग 1:", str1)
अगर (सममितीय (str1) है):
प्रिंट ("हां, दी गई स्ट्रिंग सममित है")
अन्य:
प्रिंट ("नहीं, दी गई स्ट्रिंग सममित नहीं है")
# टेस्ट केस: 2
str2 = "मैडम"
प्रिंट ("स्ट्रिंग 2:", str2)
अगर (सममितीय (str2) है):
प्रिंट ("हां, दी गई स्ट्रिंग सममित है")
अन्य:
प्रिंट ("नहीं, दी गई स्ट्रिंग सममित नहीं है")
# टेस्ट केस: 3
str3 = "मैडमा"
प्रिंट ("स्ट्रिंग 3:", str3)
अगर (सममितीय (str3) है):
प्रिंट ("हां, दी गई स्ट्रिंग सममित है")
अन्य:
प्रिंट ("नहीं, दी गई स्ट्रिंग सममित नहीं है")
# टेस्ट केस: 4
str4 = "नागरिक"
प्रिंट ("स्ट्रिंग 4:", str4)
अगर (सममितीय (str4) है):
प्रिंट ("हां, दी गई स्ट्रिंग सममित है")
अन्य:
प्रिंट ("नहीं, दी गई स्ट्रिंग सममित नहीं है")
# टेस्ट केस: 5
str5 = "खोखो"
प्रिंट ("स्ट्रिंग 5:", str5)
अगर (सममितीय (str5) है):
प्रिंट ("हां, दी गई स्ट्रिंग सममित है")
अन्य:
प्रिंट ("नहीं, दी गई स्ट्रिंग सममित नहीं है")
आउटपुट:
स्ट्रिंग 1: अबाबा
हाँ, दी गई स्ट्रिंग सममित है
स्ट्रिंग 2: मैडम
नहीं, दी गई स्ट्रिंग सममित नहीं है
स्ट्रिंग 3: मदमा
हाँ, दी गई स्ट्रिंग सममित है
स्ट्रिंग 4: सिविक
नहीं, दी गई स्ट्रिंग सममित नहीं है
स्ट्रिंग 5: खोखो
हाँ, दी गई स्ट्रिंग सममित है
संबंधित: पायथन सीखना? यहां स्ट्रिंग्स में हेरफेर करने का तरीका बताया गया है
जावास्क्रिप्ट प्रोग्राम यह निर्धारित करने के लिए कि एक दिया गया स्ट्रिंग सममित है या नहीं
नीचे दी गई स्ट्रिंग सममित है या नहीं यह निर्धारित करने के लिए जावास्क्रिप्ट प्रोग्राम है:
// जावास्क्रिप्ट प्रोग्राम यह जांचने के लिए कि स्ट्रिंग सममित है या नहीं
// यह जांचने के लिए कार्य करें कि स्ट्रिंग सममित है या नहीं
फ़ंक्शन सममित है (str) {
वर मिडइंडेक्स;
वर लंबाई = str.length;
// यदि स्ट्रिंग की लंबाई सम है
अगर (लंबाई% 2 == 0) {
midIndex = Math.floor (लंबाई/2);
}
// यदि स्ट्रिंग की लंबाई विषम है
अन्य {
midIndex = Math.floor (लंबाई/2) + 1;
}
वर सूचक1 = 0;
वर पॉइंटर2 = मिडइंडेक्स;
जबकि (सूचक1अगर (str [सूचक 1] == str [सूचक 2]) {
सूचक १ + = १;
सूचक २ + = १;
} अन्य {
विवरण झूठा है;
}
}
सच लौटना;
}
// टेस्ट केस: 1
वर str1 = "अबाब";
document.write ("स्ट्रिंग 1:" + str1 + "
");
अगर (सममितीय (str1) है) {
document.write ("हाँ, दी गई स्ट्रिंग सममित है" + "
");
} अन्य {
document.write ("नहीं, दी गई स्ट्रिंग सममित नहीं है" + "
");
}
// टेस्ट केस: 2
वर str2 = "मैडम";
document.write ("स्ट्रिंग 2:" + str2 + "
");
अगर (सममितीय (str2) है) {
document.write ("हाँ, दी गई स्ट्रिंग सममित है" + "
");
} अन्य {
document.write ("नहीं, दी गई स्ट्रिंग सममित नहीं है" + "
");
}
// टेस्ट केस: 3
वर str3 = "मैडमा";
document.write ("स्ट्रिंग 3:" + str3 + "
");
अगर (सममितीय (str3) है) {
document.write ("हाँ, दी गई स्ट्रिंग सममित है" + "
");
} अन्य {
document.write ("नहीं, दी गई स्ट्रिंग सममित नहीं है" + "
");
}
// टेस्ट केस: 4
var str4 = "नागरिक";
document.write ("स्ट्रिंग 4:" + str4 + "
");
अगर (सममितीय (str4) है) {
document.write ("हाँ, दी गई स्ट्रिंग सममित है" + "
");
} अन्य {
document.write ("नहीं, दी गई स्ट्रिंग सममित नहीं है" + "
");
}
// टेस्ट केस: 5
वर str5 = "खोखो";
document.write ("स्ट्रिंग 5:" + str5 + "
");
अगर (सममितीय (str5) है) {
document.write ("हाँ, दी गई स्ट्रिंग सममित है" + "
");
} अन्य {
document.write ("नहीं, दी गई स्ट्रिंग सममित नहीं है" + "
");
}
आउटपुट:
स्ट्रिंग 1: अबाबा
हाँ, दी गई स्ट्रिंग सममित है
स्ट्रिंग 2: मैडम
नहीं, दी गई स्ट्रिंग सममित नहीं है
स्ट्रिंग 3: मदमा
हाँ, दी गई स्ट्रिंग सममित है
स्ट्रिंग 4: सिविक
नहीं, दी गई स्ट्रिंग सममित नहीं है
स्ट्रिंग 5: खोखो
हाँ, दी गई स्ट्रिंग सममित है
संबंधित: एक स्ट्रिंग में सबसे अधिक बार आने वाले चरित्र को कैसे खोजें
स्ट्रिंग्स के आधार पर समस्याओं को हल करें
प्रोग्रामिंग साक्षात्कार के लिए स्ट्रिंग्स सबसे महत्वपूर्ण विषयों में से एक है। आपको स्ट्रिंग्स के आधार पर कुछ प्रसिद्ध प्रोग्रामिंग समस्याओं को हल करना होगा जैसे कि चेक करें कि क्या स्ट्रिंग एक पैलिंड्रोम है, चेक करें यदि दो तार एक दूसरे के विपर्यय हैं, तो एक स्ट्रिंग में सबसे अधिक बार आने वाले वर्ण का पता लगाएं, एक स्ट्रिंग को उल्टा करें, आदि। अगर आप पूरी तरह से तैयार होना चाहते हैं।
क्या आपकी स्ट्रिंग एक पैलिंड्रोम है? चाहे आप पायथन, सी ++, या जावास्क्रिप्ट का उपयोग करें, पता लगाने के लिए इनमें से किसी एक एल्गोरिदम का उपयोग करें।
आगे पढ़िए
- प्रोग्रामिंग
- जावास्क्रिप्ट
- अजगर
- कोडिंग ट्यूटोरियल
- सी प्रोग्रामिंग
युवराज दिल्ली विश्वविद्यालय, भारत में कंप्यूटर विज्ञान के स्नातक छात्र हैं। उन्हें फुल स्टैक वेब डेवलपमेंट का शौक है। जब वह नहीं लिख रहा होता है, तो वह विभिन्न तकनीकों की गहराई की खोज कर रहा होता है।
हमारे समाचार पत्र के सदस्य बनें
तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!
सब्सक्राइब करने के लिए यहां क्लिक करें