Chào anh chị, em đang viết trương trình xuất vị trí chuổi nhỏ nằm ở đâu trong chuỗi lớn.
Trong phương pháp làm em có dùng mảng để nhớ vị trí chữ cái đầu tiên của chuổi nhỏ trong chuỗi lớn, nhưng khi viết thì em có gặp lỗi là mảng k nhớ vị trí được,mong mọi người giúp đỡ.
#include <iostream>
#include <cstring>
using namespace std;
void ktra_s2_s1(char buffer[],char buffer2[],int len,int len2);
int main(){
char buffer[100];
cin.getline(buffer,100,'\n');
int len=strlen(buffer);
cout<<"Nhap chuoi 2";
char buffer2[100];
cin.getline(buffer2,100,'\n');
int len2=strlen(buffer2);
ktra_s2_s1(buffer,buffer2,len,len2);
return 0;
}
void ktra_s2_s1(char buffer[],char buffer2[],int len,int len2){
if(len>len2){
bool ktra=true;
int phu=0;
int a[100],s[100];
for(int i=0;i<len;i++){
if(buffer[i]==buffer2[0]){
a[phu]=i;
// s[phu]=i;
phu++;
cout<<"vi tri trung: "<<i<<endl;
}
}
a[2]=4;
cout<<endl<<"so cai trung: "<<phu<<endl;
for(int i=0;i<phu;i++){
cout<<a[phu]<<endl;
}
/*for(int i=1;i<len2;i++){
for(int k=0;k<phu;k++){o
if(buffer2[i]!=buffer[s[k]++]){
s[k]=-1;
}
}
}
for(int i=0;i<phu;i++){
if(s[i]!=-1){
cout<<s[i];
}
}*/
}
}
những số.
0
0
0
...
Đó là em xuất vị trí trùng, nhưng nó k xuất đúng mà cứ 0 0 vậy, em k hiểu tại sao.