01/10/2018, 13:25

Code tìm số lần xuất hiện của ký tự xuất hiện nhiều lần nhất trong chuỗi s toàn ra kết quả là 0

Đề: Tìm số lần xuất hiện của ký tự xuất hiện nhiều lần nhất trong chuỗi s là bao nhiêu?
Cho mình hỏi là code sai chỗ nào mà xuất ra kết quả 0 vậy??

char *solanxuathien(char *s)
{
	int n=strlen(s);
	int max=0;
	int dem=1;
	for(int i=0;i<n;i++)
	{
		if(s[i]==s[i+1])
		{
			dem++;
				if(dem>max)
				{
					max=dem;
				}	
		}
		else
		{
           dem=1;
		}
	}
	cout<<max<<endl;
}
int main()
{
	char s[maxs];
	solanxuathien(s);
}
HK boy viết 15:41 ngày 01/10/2018

Thuật toán của bạn sai. Người ta yêu cầu đếm số lần xuất hiện của mỗi kí tự, sau đó tìm số lần xuất hiện nhiều nhất, thế mà bạn lại đếm thứ khác.

char *solanxuathien(char *s)
{
	int n=strlen(s);
	int max=0;
	int dem=1;
	for(int i=0;i<n;i++)
	{
		if(s[i]==s[i+1])
		{
			dem++;
				if(dem>max)
				{
					max=dem;
				}	
		}
		else
		{
           dem=1;
		}
	}
	cout<<max<<endl;
}

Hàm này bạn không trả về cái gì cả!!!

Nam Phan viết 15:38 ngày 01/10/2018

thuật toán sai.
Và không cần trả về con trỏ char làm gì cả. sửa thành void nhé

Bài liên quan
0