tim kiem va thay the chuoi con trong chuoi lon
//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: Truyen247.Pro