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

सी प्रोग्राम स्ट्रिंग अवधारणाओं का उपयोग करके अतिरिक्त रिक्त स्थान को हटाने के लिए।

समस्या

किसी वर्ण के प्रत्येक अनुक्रमणिका में रिक्त स्थान की जाँच करके लूप की मदद से रनटाइम पर एक दर्ज की गई स्ट्रिंग से सभी अतिरिक्त रिक्त स्थान निकालें।

समाधान

नीचे दिए गए एक उदाहरण पर विचार करें -

यह किसी दिए गए स्ट्रिंग से सभी रिक्त स्थान हटा देता है। दी गई स्ट्रिंग है ट्यूटोरियल प्वाइंट सी प्रोग्रामिंग . रिक्त स्थान हटाने के बाद परिणाम ट्यूटोरियल्सप्वाइंटसीप्रोग्रामिंग . है ।

वर्णों की एक सरणी को स्ट्रिंग कहा जाता है।

नीचे एक स्ट्रिंग की घोषणा दी गई है -

char stringname [size];

उदाहरण के लिए, चार स्ट्रिंग [50]; लंबाई 50 वर्णों की स्ट्रिंग।

आरंभीकरण

  • एकल वर्ण स्थिरांक का उपयोग करना।
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • स्ट्रिंग स्थिरांक का उपयोग करना।
char string[10] = “Hello”:;

एक्सेस करना

एक नियंत्रण स्ट्रिंग "%s" है जिसका उपयोग स्ट्रिंग तक पहुँचने के लिए तब तक किया जाता है जब तक कि उसका सामना '\0' से न हो जाए।

स्ट्रिंग्स के बीच अतिरिक्त रिक्त स्थान को हटाने के लिए हम जिस तर्क का उपयोग करते हैं वह इस प्रकार है -

len = strlen(string);
for(i=0; i<len; i++){
   if(string[0]==' '){
      for(i=0; i<(len-1); i++)
      string[i] = string[i+1];
      string[i] = '\0';
      len--;
      i = -1;
      continue;
   }
   if(string[i]==' ' && string[i+1]==' '){
      for(j=i; j<(len-1); j++){
         string[j] = string[j+1];
      }
      string[j] = '\0';
      len--;
      i--;
   }
}

उदाहरण

स्ट्रिंग अवधारणाओं का उपयोग करके वाक्य में सभी अतिरिक्त रिक्त स्थान को हटाने के लिए सी प्रोग्राम निम्नलिखित है -

#include<stdio.h>
int main() {
   char string[200];
   int i, j, len;
   printf("Enter a statement: ");
   gets(string);
   len = strlen(string);
   for(i=0; i<len; i++) {
      if(string[0]==' ') {
         for(i=0; i<(len-1); i++)
         string[i] = string[i+1];
         string[i] = '\0';
         len--;
         i = -1;
         continue;
      }
      if(string[i]==' ' && string[i+1]==' ') {
         for(j=i; j<(len-1); j++) {
            string[j] = string[j+1];
         }
         string[j] = '\0';
         len--;
         i--;
      }
   }
   printf("\nNew String after removing extra spaces is = %s", string);
   getch();
   return 0;
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्न आउटपुट उत्पन्न करता है -

Enter a statement: Welcome to The world of C programming
New String after removing extra spaces is = Welcome to The world of C programming

  1. C प्रोग्राम में O(1) अतिरिक्त स्थान का उपयोग करके n x ​​n सर्पिल मैट्रिक्स प्रिंट करें।

    हमें एक धनात्मक पूर्णांक n दिया गया है और n x n का एक सर्पिल मैट्रिक्स बनाते हैं, केवल O(1) अतिरिक्त स्थान का उपयोग करके दक्षिणावर्त दिशा में सर्पिल मैट्रिक्स एक मैट्रिक्स है जो एक सर्पिल की तरह काम करता है जो एक सर्कल की उत्पत्ति से शुरू होगा और दक्षिणावर्त फैशन में घूमता है। तो कार्य 2 → 4 → 6 →

  1. जावा रेगुलर एक्सप्रेशन (RegEx) का उपयोग करके सफेद रिक्त स्थान कैसे निकालें

    रेगुलर एक्सप्रेशन \\s एक स्ट्रिंग में रिक्त स्थान से मेल खाता है। replaceAll () विधि एक स्ट्रिंग को स्वीकार करती है और एक नियमित अभिव्यक्ति मिलान किए गए वर्णों को दिए गए स्ट्रिंग से बदल देती है। एक इनपुट स्ट्रिंग से सभी सफेद रिक्त स्थान को हटाने के लिए, replaceAll() . का आह्वान करें उपरोक्त नियमित अ

  1. रिकर्सन का उपयोग करके एक स्ट्रिंग को उलटने के लिए पायथन प्रोग्राम

    जब रिकर्सन तकनीक का उपयोग करके एक स्ट्रिंग को उलटने की आवश्यकता होती है, तो उपयोगकर्ता परिभाषित विधि का उपयोग रिकर्सन के साथ किया जाता है। रिकर्सन बड़ी समस्या के छोटे बिट्स के आउटपुट की गणना करता है, और बड़ी समस्या का समाधान देने के लिए इन बिट्स को जोड़ता है। उदाहरण नीचे उसी के लिए एक प्रदर्शन है