Vấn đề
Viết các hàm người dùng để Xóa N - Ký tự khỏi Vị trí trong một chuỗi nhất định. Ở đây, chuỗi được cung cấp bởi người dùng trong thời gian chạy.
Giải pháp
Giải pháp để xóa n ký tự trong một chuỗi nhất định như sau -
Thuật toán
Tham khảo một thuật toán để xóa n ký tự trong một chuỗi đã cho.
Bước 1 - Bắt đầu
Bước 2 - Đọc chuỗi trong thời gian chạy
Bước 3 - Đọc vị trí mà chúng ta cần xóa các ký tự
Bước 4 - Đọc n, số ký tự cần xóa khỏi vị trí đó
Bước 5 - Gọi hàm deletestr (str, p, n) nhảy đến bước 7
Bước 6 - Dừng lại
Bước 7 - Được gọi là hàm 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
Ví dụ
Sau đây là chương trình C để xóa n ký tự trong một chuỗi đã cho -
#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);
} Đầu ra
Khi chương trình trên được thực thi, nó tạo ra kết quả sau -
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