समस्या
एक दी गई स्ट्रिंग में पोजीशन से N कैरेक्टर्स को डिलीट करने के लिए यूजर फंक्शन लिखें। यहां, स्ट्रिंग उपयोगकर्ता द्वारा रनटाइम पर दी जाती है।
समाधान
दिए गए स्ट्रिंग में n कैरेक्टर्स को डिलीट करने का समाधान निम्नानुसार है:
एल्गोरिथम
दिए गए स्ट्रिंग में n कैरेक्टर्स को डिलीट करने के लिए एक एल्गोरिथम देखें।
चरण 1 - शुरू
चरण 2 - रनटाइम पर स्ट्रिंग पढ़ें
चरण 3 - उस पोजीशन को पढ़ें जहां से हमें कैरेक्टर्स डिलीट करने हैं
चरण 4 - n पढ़ें, उस पोजीशन से डिलीट किए जाने वाले कैरेक्टर्स की संख्या
चरण 5 - फंक्शन deletestr(str, p, n) को कॉल करें चरण 7 पर जाएं
चरण 6 - रुकें
चरण 7 - कॉल किया गया फंक्शन deletestr(str, p, n)
1. for i = 0, j = 0 to Length[str] 2. do if i = p-1 3. i = i + n 4. str[j] = str[i] 5. str[j] = NULL 6. print str
उदाहरण
निम्नलिखित C प्रोग्राम दिए गए स्ट्रिंग में n कैरेक्टर्स को डिलीट करता है:
#include <stdio.h>
#include <conio.h>
// function prototype
void del_str(char [], int, int);
main(){
int n, p;
char str[30];
printf("\n Enter the String:");
gets(str);
fflush(stdin);
printf("\n Enter the position from where the characters are to be deleted:");
scanf("%d", &p);
printf("\n Enter Number of characters to be deleted:");
scanf("%d", &n);
del_str(str, p, n);
}
// function call
void del_str(char str[], int p, int n){
int i, j;
for(i = 0, j = 0; str[i] != '\0'; i++, j++){
if(i == (p-1)){
i = i + n;
}
str[j] = str[i];
}
str[j] = '\0';
puts(" The string after deletion of characters:");
puts(str);
}
आउटपुट
Enter the String: Tutorials Point C programming Enter the position from where the characters are to be deleted: 10 Enter Number of characters to be deleted: 6 The string after deletion of characters: Tutorials C programming