строковая проблема - PullRequest
       1

строковая проблема

0 голосов
/ 05 апреля 2011

Мне дали проблему, которую я еще не решил. Моя программа должна работать так:

Put some string: Hello World Hello World World World
output: 4

Программа получает строку и подстроку, подстрока должна быть найдена в строке и подсчитывать наиболее распространенную подстроку в строке.

Я написал некоторый код, но безуспешно ..

int main()
{
    char string[10];
    int i=0,x=0;
    char find[] = "hello";
    gets(string);
    while(string[i] != 0)
        if(string[i] == find[i]))
             x++;
            printf("%d", x);
    i++;
    return 0;
}

Ответы [ 3 ]

0 голосов
/ 06 апреля 2011

Вы можете посмотреть на второй ответ на этот вопрос , который в основном указывает на то, что наиболее распространенной подстрокой будет строка из одного символа, в вашем случае 'o'. Звучит так, как будто вы хотите слова вместо строк, в этом случае просто разбейте свою строку на слова и сосчитайте их.

0 голосов
/ 06 апреля 2011

Hii,

попробуйте это так

1) Сначала возьмите 1 строку, 1 массив строк и один массив счетчиков

2), сначала просмотрите строку.Вы должны использовать fgets, так как get является небезопасным, и даже документация LINUX / UNIX рекомендует избегать этого из-за проблемы переполнения буфера.

3) разбить строку на слова и сохранить каждое уникальное слово в массиве строк.

4) теперь возьмите одно слово из массива строк, сравните его со строкой и посчитайте вхождение.вам лучше использовать некоторую функцию lib, например, strstr

5), а затем сохранить соответствующий счетчик в массиве счетчиков

6) в массиве счетчиков конечного сканирования для максимального счетчика, который даст вам максимальное количество и соответствующийслово.

0 голосов
/ 05 апреля 2011

Думаю, вам лучше использовать вызовы библиотек строк, например

char * strstr (const char * s1, const char * s2) это возвращает указатель на первый экземпляр строки s2 в s1. Возвращает нулевой указатель, если s2 не встречается в s1.

Вы можете найти их список здесь: http://www.edcc.edu/faculty/paul.bladek/c_string_functions.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...