समस्या
किसी दिए गए स्ट्रिंग में स्थिति से 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
उदाहरण
किसी दिए गए स्ट्रिंग में n वर्णों को हटाने के लिए C प्रोग्राम निम्नलिखित है:-
#include <stdio.h>
#include <conio.h>
// prototype of function
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