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

C प्रोग्राम: स्ट्रिंग कॉन्सेप्ट्स का उपयोग करके एक्स्ट्रा स्पेस हटाना

समस्या

व्हाइल लूप की मदद से रनटाइम पर दर्ज स्ट्रिंग से सभी एक्स्ट्रा स्पेस हटाएं, कैरेक्टर के प्रत्येक इंडेक्स पर स्पेस चेक करके।

समाधान

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

यह दिए गए स्ट्रिंग से सभी स्पेस हटा देता है। दी गई स्ट्रिंग है Tutorials Point C Programming। स्पेस हटाने के बाद परिणाम है TutorialsPointCProgramming।

कैरेक्टर्स का ऐरे स्ट्रिंग कहलाता है।

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

char stringname[size];

उदाहरण के लिए, char string[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--;
    }
}

उदाहरण

स्ट्रिंग कॉन्सेप्ट्स का उपयोग करके वाक्य में सभी एक्स्ट्रा स्पेस हटाने का C प्रोग्राम:

#include <stdio.h>
#include <string.h>

int main() {
    char string[200];
    int i, j, len;
    printf("स्टेटमेंट दर्ज करें: ");
    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("\nएक्स्ट्रा स्पेस हटाने के बाद नई स्ट्रिंग = %s", string);
    getch();
    return 0;
}

आउटपुट

स्टेटमेंट दर्ज करें: Welcome to The world of C programming
एक्स्ट्रा स्पेस हटाने के बाद नई स्ट्रिंग = Welcome to The world of C programming
  1. C प्रोग्राम में O(1) एक्स्ट्रा स्पेस का उपयोग करके n x n स्पाइरल मैट्रिक्स प्रिंट करना C प्रोग्राम में O(1) एक्स्ट्रा स्पेस का उपयोग करके n x n स्पाइरल मैट्रिक्स प्रिंट करना

    हमें एक पॉजिटिव इंटीजर n दिया गया है और केवल O(1) एक्स्ट्रा स्पेस का उपयोग करके क्लॉकवाइज दिशा में n x n का स्पाइरल मैट्रिक्स बनाना है। स्पाइरल मैट्रिक्स एक मैट्रिक्स है जो स्पाइरल की तरह काम करता है जो एक सर्कल के मूल से शुरू होकर क्लॉकवाइज फैशन में घूमता है। इसलिए कार्य O(1) स्पेस का उपयोग करके

  1. - जावा रेगुलर एक्सप्रेशन (RegEx) का उपयोग करके व्हाइट स्पेस हटाना

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

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

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