Code xuất ra phần tử xuất hiện nhiều nhất trong xâu và số lần xuất hiện của nó

#include <iostream>
#include <locale>

using namespace std;

int main()
{
    string st;
    char a[100] = {0};
    locale loc;
    
    cin >> st;
    
    int n = st.length();
    for (int i = 0 ; i < n ; i++)
    {
        if (isupper(st[i], loc)) st[i] = tolower(st[i], loc);
    }
    
    for (int i = n ; i > 0 ; i--)
    {
        for (int j = 0 ; j < i; j++)
            if (st[j] < st[j - 1])
            {
                string tmp;
                tmp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = tmp;
            }
    }
    
    for (int i = 0 ; i < n ; i++)
    {
        for (int j = i + 1; j < n; j++)
            if (a[i] == a[j])
            {
                a[st[i]]++;
                for (int i = j + 1 ; i < n ; i++)
                {
                    a[i - 1] = a[i];
                }
                n--;
                i--;
            }
        cout << st[i] << " " << a[st[i]] ;
    }
    
    return 0;
}

Đề là: " Xuất ra phần tử xuất hiện nhiều nhất trong xâu st và số lần xuất hiện của nó. (Bài này không phân biệt ký tự in và thường) ". Em code chưa ra, các anh chị giúp em với ạ, em cảm ơn.

1 Like

char được rồi :sweat:

Bạn đã sắp xếp rồi mà còn xóa cái gì nữa :smiley: giờ chỉ đi gom lại thôi.

3 Likes

vâng, em cảm ơn ạ ^^

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?