Вернуть значение несколько раз - PullRequest
1 голос
/ 17 апреля 2020

Я хочу наивно рассчитать частоту каждого символа. Но проблема в том, что я могу вернуть частоту только одного символа, тогда как хочу все. Как я могу решить эту проблему? Вот мой код.

int getFreq (char* arr,int size) {

    for (int i = 0; i <size-1; i++) {
        int cnt = 0;
        for (int j = i; j < size; j++) {
            if (arr[i] == arr[j]) cnt++;
        }
        return cnt;

    }

}

    enter code here
    int main() {

    char arr[] = { 'a','c','e','a','b','a','a','c' };
    int size = sizeof(arr) / sizeof(arr[0]);

    cout << getFreq(arr,size) << endl;

}

1 Ответ

0 голосов
/ 17 апреля 2020

Если вы хотите сделать это по-своему, то вы можете сделать это после нескольких изменений в коде, например:

#include <iostream>
using namespace std; 

int getFreq(char* arr, int size, int index) {

    for (int i = index; i <size; i++)
    {
        int cnt = 0;
        for (int j = 0; j < size; j++)
        {
            if (arr[i] == arr[j]) cnt++;
        }
        return cnt;

    }

}
int main() {

    char arr[] = { 'a','c','e','a','b','a','a','c' };
    int size = sizeof(arr) / sizeof(arr[0]);
    for (int index = 0; index < size; index++)
    {
        cout << getFreq(arr, size,index) << endl;
    }
    system("pause");
}
...