Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

जाँच करें कि क्या कोई स्ट्रिंग पॉइंटर्स का उपयोग करके C में पैलिंड्रोम है

मान लीजिए कि हमारे पास एक स्ट्रिंग s है। हमें यह जांचना है कि दी गई स्ट्रिंग एक पैलिंड्रोम है या नहीं। हमें सी में पॉइंटर्स का उपयोग करके इस समस्या को हल करना है।

इसलिए, यदि इनपुट s ="रेसकार" जैसा है, तो आउटपुट ट्रू होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • लंबाई:=स्ट्रिंग का आकार
  • आगे:=स्ट्रिंग के पहले वर्ण की ओर इशारा करते हुए
  • उलटा:=स्ट्रिंग के अंतिम वर्ण की ओर इशारा करते हुए
  • रिवर्स की स्थिति>=आगे की स्थिति, करते हैं
    • यदि विपरीत द्वारा इंगित वर्ण आगे द्वारा इंगित वर्ण के समान है, तो
      • आगे बढ़ाएं और 1 से उल्टा घटाएं
    • अन्यथा
      • लूप से बाहर आएं
  • अगर आगे की स्थिति>=रिवर्स की स्थिति, तो
    • सही लौटें
  • झूठी वापसी

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

#include <stdio.h>
#include <string.h>
int solve(char *string){
   int length;
   char *forward, *reverse;
   length = strlen(string);
   forward = string;
   reverse = forward + length - 1;
   for (forward = string; reverse >= forward;) {
      if (*reverse == *forward) {
         reverse--;
         forward++;
      } else
         break;
   } if (forward > reverse)
      return 1;
   else
      return 0;
}
int main(){
   char string[] = "racecar";
   printf("%d", solve(string));
}

इनपुट

"racecar"

आउटपुट

1

  1. सी प्रोग्राम यह जांचने के लिए कि कोई सरणी पैलिंड्रोम है या रिकर्सन का उपयोग नहीं कर रही है

    एक सरणी गिरफ्तारी [एन] को देखते हुए जहां एन एक सरणी का कुछ आकार है, कार्य यह पता लगाना है कि सरणी पालिंड्रोम है या रिकर्सन का उपयोग नहीं कर रही है। पैलिंड्रोम एक अनुक्रम है जिसे पीछे और आगे की तरह पढ़ा जा सकता है, जैसे:मैडम, नमन, आदि। तो एक सरणी की जांच करने के लिए पैलिंड्रोम है या नहीं, इसलिए हम ए

  1. यह जांचने के लिए प्रोग्राम कि कोई ऐरे पालिंड्रोम है या C++ में STL का उपयोग नहीं कर रहा है

    एन पूर्णांकों की एक सरणी गिरफ्तारी [एन] को देखते हुए, कार्य यह पता लगाना है कि सरणी एक पैलिंड्रोम है या नहीं। हमें बताए गए कार्य को C++ में STL का उपयोग करके करना है। सी ++ में एसटीएल (स्टैंडर्ड टेम्प्लेट लाइब्रेरी) की एक विशेषता है, यह सी ++ टेम्प्लेट क्लासेस का एक सेट है जो डेटा संरचनाओं और ढेर,

  1. कैसे जांचें कि कोई स्ट्रिंग पालिंड्रोम है या पायथन का उपयोग नहीं कर रहा है?

    पायथन के मानक पुस्तकालय से reveresed() फ़ंक्शन का उपयोग करें। यह उलटी हुई वस्तु लौटाता है जिसे सूची वस्तु में परिवर्तित किया जा सकता है >>> str1='malayalam' >>> l1=list(reversed(str1)) >>> l1 ['m', 'a', 'l', 'a', 'y', 'a&