tim kiem va thay the chuoi con trong chuoi lon

Màu nền
Font chữ
Font size
Chiều cao dòng

//viet chuong trinh tim kiem va thay the chuoi con trong chuoi lon

#include <stdio.h>

#include <conio.h>

#include <string.h>

int ktra(char s[],char ch_con[],int k)

{

  int i,t,kt;

  kt=1;

  for(i=k,t=0;i<strlen(s),t<strlen(ch_con);i++,t++)

     if(s[i]!=ch_con[t])

     {

        kt=0;

        break;

     }

  return kt;

}

void xoa(char s[],int k)

{

  for(i=k;i<strlen(s);i++)

    s[i]=s[i+1];

}

void del(char s[],char ch_con[],int k)

{

  for(i=0;i<strlen(ch_con);i++)

    xoa(s,k);

}

void chen(char s[],char kt,int k)

{

  for(i=strlen(s);i>k;i--)

    s[i]=s[i-1];

  s[k]=kt;

}

void add(char s[],char ch_thay[],int k)

{

  for(i=strlen(ch_thay)-1;i>=0;i--)

    chen(s,ch_thay[i],k);

}

int main()

{

  char s[100],ch_con[50],ch_thay[50];

  int i,k=0,t,a[10],n;

  printf("nhap chuoi nguon : ");gets(s);

  printf("nhap chuoi con : ");gets(ch_con);

  t=0;

  n=strlen(s);

  for(i=0;i<strlen(s);i++)

    if(ktra(s,ch_con,i)==1)

    {

      printf("

chuoi con xuat hien o vi tri thu %d",i+1);

      k=1;

      a[t]=i;

      t++;

    }

  if(k==0) printf("chuoi con khong co trong chuoi");

  else

  {

  printf("

nhap chuoi thay the : ");gets(ch_thay);

  for(i=t-1;i>=0;i--)

        del(s,ch_con,a[i]);

  for(i=0;i<t;i++)

     add(s,ch_thay,a[i]-i*(strlen(ch_con)-strlen(ch_thay)));

  printf("

chuoi sau khi thay the la : ");

  for(i=0;i<n-t*(strlen(ch_con)-strlen(ch_thay));i++)

    printf("%c",s[i]);

    }

  getch();

  return 0;

}

Bạn đang đọc truyện trên: Truyen2U.Pro