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

सी प्रोग्राम में एक वाक्य में सबसे लंबा पैलिंड्रोम शब्द प्रिंट करें

एक वाक्य को देखते हुए और चुनौती दिए गए वाक्य से सबसे लंबा पैलिंड्रोम खोजने की है

पैलिंड्रोम क्या है?

पैलिंड्रोम एक ऐसा शब्द या क्रम है जिसका अर्थ स्ट्रिंग को उलटने के बाद भी वही रहता है

उदाहरण - नितिन, स्ट्रिंग को उलटने के बाद उसका अर्थ वही रहता है।

चुनौती दिए गए वाक्य में से सबसे लंबा पैलिंड्रोम खोजने की है।

जैसे वाक्य है:मलयालम लीमादामेल इजी

इसमें तीन पैलिंड्रोम शब्द हैं लेकिन सबसे लंबा है - लीमाडामिल

एल्गोरिदम

START
STEP 1 -> Declare start variables I, j, k, l, max to 0, index to -1, check to 0, count to 0
Step 2 -> Loop For i to 0 and i<strlen(str) and i++
   Set max =0, k =i and j=i+1
   Loop While str[j]!=' ' and str[j]!='\0'
      Increment j by 1
   End While
   Set l=j-1
   IF str[k]!=' ' and str[k]!='\0'
      Loop While k<=1
      If str[k]==str[l]
         Increment max by 1
         If count<=max
            Set index=i and count = max
         End If
      End IF
      Else
         Set max = 0, count = -1
         Break
      End Else
      Increment k and I by 1
   End Loop While
End If
Set i=j
Step 3 -> End Loop For
Step 4 -> Loop For i = index and i!=-1 && str[i]!=' ' && str[i]!='\0' and i++
   Print str[i]
Step 5 -> End Loop For
STOP

उदाहरण

#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[]) {
   char str[] = {"malayalam liemadameil iji"};
   int i, k, l, j, max =0, index = -1, check = 0, count = 0;
   for(i=0; i<strlen(str); i++) {
      max = 0;
      k = i;
      j = i+1;
      while(str[j]!=' ' && str[j]!='\0'){
         j++;
      }
      l = j-1;
      if(str[k]!=' ' && str[k]!='\0') {
         while(k<=l) {
            if (str[k]==str[l]) {
               max++;
               if(count<=max) {
                  index = i;
                  count = max;
               }
            } else {
               max = 0;
               count = -1;
               break;
            }
            k++;
            l--;
         }
      }
      i = j;
   }
   for (i = index; i!=-1 && str[i]!=' ' && str[i]!='\0'; i++) {
      printf("%c", str[i]);
   }
   return 0;
}

आउटपुट

यदि हम उपरोक्त प्रोग्राम चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा।

liemadameil

  1. सी . में संख्यात्मक पैटर्न मुद्रित करने का कार्यक्रम

    कार्यक्रम विवरण उपयोगकर्ता से पंक्तियों की संख्या को स्वीकार करके संख्यात्मक पैटर्न प्रिंट करें। इनपुट:5 पंक्तियाँ 1 6 2 10 7 3 13 11 8 4 15 14 12 9 5 एल्गोरिदम Print the pattern from the end of each Row Complete the last column of each Row Start from the Second Last Column of the second row Repea

  1. सी . में नंबर कॉलम वार प्रिंट करने का कार्यक्रम

    कार्यक्रम विवरण नीचे दिखाए गए अनुसार प्राकृतिक संख्या कॉलम के अनुसार प्रिंट करें 1 2 6 3 7 10 4 8 11 13 5 9 12 14 15 एल्गोरिदम i stands for rows and j stands for columns. 5 stands for making pattern for 5 Rows and Columns Loop for each Row (i) K is initialized to i Loop for each Column (j) Do the P

  1. सी . में संख्या पैटर्न मुद्रित करने का कार्यक्रम

    कार्यक्रम विवरण एक संख्यात्मक पैटर्न संख्याओं का एक क्रम है जो एक नियम के आधार पर बनाया गया है जिसे पैटर्न नियम कहा जाता है। अनुक्रम में क्रमागत संख्याओं के बीच संबंध का वर्णन करने के लिए पैटर्न नियम एक या अधिक गणितीय संक्रियाओं का उपयोग कर सकते हैं। पैटर्न के उदाहरण पैटर्न 1 1 2 6 3 7 10 4 8 11