Computer >> Máy Tính >  >> Lập trình >> lập trình C

C Chương trình xóa n ký tự trong một chuỗi đã cho

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