01/10/2018, 13:25
Đếm số từ đối xứng trong chuỗi
Đề bài là kêu đếm xem trong chuỗi có bao nhiêu từ đối xứng và mình có ví dụ sau : cbabc abc iuoqteole qweroklu qqq qoklopnbgfred qwedsa
Và mình có đoạn code :
char doixung(char s[maxn])
{
int n=strlen(s);
for (int i=0;i<n/2;i++)
{
if (s[i]!=s[n-1-i])
return 0;
}
return 1;
}
int demDX(char s[maxn])
{
int demDX=0,n=strlen(s);
for (int i=0;i<n;i++)
{
if (doixung(s))
{
demDX++;
}
}
return demDX;
}
Thì nó trả về 0 mặc dù trong ví dụ đó mình đếm có 2 từ đối xứng
Không biết có bị sai chỗ nào không nữa ?
Bài liên quan
Hàm doixung và DemDX nó không liên quan gì đến nhau nên nó mới như thế, và nó sẽ luôn bằng không hoặc luôn bằng >=1 nếu giá trị đầu tiên và cuối cùng giống/khác nhau
Bạn viết lại thuật toán để ý chỗ gọi hàm doixung nó không liên quan gì tới phần so sánh cả
Nếu mình sửa lại như vầy nó chỉ đếm đc 1