Em là người mới của webpage daynhauhoc này, mong mn giúp đỡ. Vấn đề của em là em sắp làm xong chương trình chèn “###” vào chuỗi nhưng đến cuối chương trình lại ko kết thúc đc mà em ko biết fix thế nào ạ. Nhờ mn xem giúp ạ. Em xài visual studio, ngôn ngữ C. (Em chưa biết cách up cái code lên…)
#include<stdio.h>
#include<string.h>
void nhap(char s[], char t[]) {
printf("Nhap S = ");
gets_s(s,100);
printf("Nhap T = ");
gets_s(t,100);
}
void xuat(char s[]) {
printf("Kiem duyet = ");
puts(s);
}
void chen(char s[],int vitri) {
char replace[101] = "###" , giaynhap[101]="";
strcpy_s(giaynhap , 100 , s + vitri);
strcpy_s(s+vitri , 100 , replace);
strcat_s(s , 100 , giaynhap);
}
void xoakitu(char s[], int vitri, int sokitu) {
int n = sokitu;
while (sokitu > 0) {
for(int i=vitri; i < strlen(s); i++) s[i] = s[i+1];
sokitu--;
}
}
void xuly(char s[], char t[]) {
//CHEN truoc
for (int i = 0; i < strlen(s); i++) {
if (s[i] == t[0]) {
int flag = 1, k = i;
//kiem tra neu giong T
for (int j = 0; j < strlen(t); j++) {
if (t[j] != s[k]) {
flag = 0; break;
}
k++;
}
if (flag == 1) { xoakitu(s, i, strlen(t)); chen(s, i); }
}
}
}
int main() {
char s[101], t[101];
nhap(s, t);
xuly(s, t);
xuat(s);
}