সমস্যা
একটি স্ট্রিং থেকে পজিশন থেকে N ক্যারেক্টার ডিলিট করার ইউজার ফাংশন লিখুন। স্ট্রিংটি ইউজার রানটাইমে দেবে।
সমাধান
স্ট্রিং থেকে n ক্যারেক্টার ডিলিট করার সমাধান নিচে দেওয়া হল:
অ্যালগরিদম
স্ট্রিং থেকে n ক্যারেক্টার ডিলিট করার অ্যালগরিদম:
Step 1 − Start
Step 2 − রানটাইমে স্ট্রিং পড়ুন
Step 3 − যে পজিশন থেকে ক্যারেক্টার ডিলিট করতে হবে সেটি পড়ুন
Step 4 − n পড়ুন, সেটি পজিশন থেকে কতগুলো ক্যারেক্টার ডিলিট করতে হবে
Step 5 − ফাংশন deletestr(str,p,n) কল করুন, step 7-এ যান
Step 6 − Stop
Step 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 ক্যারেক্টার ডিলিট করার সি প্রোগ্রাম:
#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