Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 4
1

Lcp - Эффективно подсчитать количество различных подстрок в строке

07.06.2016, 01:35. Показов 2464. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Строить научился. Как с помощью его анализа эффективно подсчитать количество различных подстрок в строке, которые встречаются 2 или более числа раз. Строки могут перекрываться.
Строки в нижнем регистре из англ. букв.

К примеру:
ababcabb - 3 строки (a, b, ab)
mississippi - 9 строк
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2016, 01:35
Ответы с готовыми решениями:

Подсчитать количество подстрок в строке
Здравствуйте, дана задача подсчитать, сколько раз подстрока, состоящая из двух символов,...

Подсчитать количество различных символов в строке
Дана строка символов. Подсчитать, сколько различных символов встречаются в ней. Вывести их на экран.

Подсчитать количество различных символов в строке
дана символьная строка. подсчитать количество различных символов в ней. вывести их на экран.

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

1
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
07.06.2016, 08:17 2
Лучший ответ Сообщение было отмечено Весбат как решение

Решение

Как-то так.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int cmp(char *s1, char *s2, int n)
{ int i;
   for(i=0; i<n; i++)
     if (s1[i] !=s2[i]) return 0;
   return 1;
}
int main()
{ char *str = "mississippi";
   char *p;
   int N = 0, i, j;
   for (p=str; *(p+1)!= '\0'; p++) {
      for(i=1; i<=strlen(p); i++) {
         for(j=0; j<strlen(str); j++) {
            if (j = p - str) continue;
            if (cmp(p, str+j, i)) {
               if (j < p - str) break; // подстрока уже подсчитана
               N++;
               printf("%-*.*s\n", i, i, p);
               break;  // Дальнейшие повторы можно не проверять
            }
         } 
      } 
   }
   printf("N=%d\n", N);
}
Псевдокод. Не проверял.
Возможна оптимизация.
0
07.06.2016, 08:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2016, 08:17
Помогаю со студенческими работами здесь

Создать словарь, и подсчитать количество различных слов в строке
Снова я обращаюсь к Вам за помощью. Мне нужно ввести строку, создать массив слов и подсчитать...

Подсчитать количество различных элементов в каждой строке матрицы
Доброго вечера всем! Необходимо подкорректировать нижеследующий код. А само задание звучит так:...

Подсчитать количество различных пар букв в заданной строке
Помогите переделать код из С++ в С Дана строка из строчных букв латинского алфавита, содержащая не...

Множества. Во введенной строке символов подсчитать количество различных (без повторений) букв
4.Во введенной строке символов, содержащей прописные буквы русского алфавита,подсчитать количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru