Форум программистов, компьютерный форум CyberForum.ru

Три одинаковых подстроки - C++

Восстановить пароль Регистрация
 
Rim
Сообщений: n/a
20.10.2010, 14:32     Три одинаковых подстроки #1
Помогите вот с такой вот задачей:
Пользователь вводит строку максимум из 100 символов, программа выводит ДА или НЕТ, в зависиомти от следующего условия:

Строка не должна содержать три или больше одинаковых подстрок подряд, aaa(три a подряд) - не подходит, abababab(несколько ab подряд) - не подходит, aabcabcabca(три abc подряд) - не подходит
Никак не получается это реализовать нужна только функция кот-ая вернёт true или false
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2010, 14:32     Три одинаковых подстроки
Посмотрите здесь:

Найти три максимальных и три минимальных значения 10 случайных чисел C++
Мне надо сделать поиск последнего вхождения подстроки s1 в строку s(с функцией LastPos, не strstr). В этом коде просто вхождение подстроки в строку. C++
Дано натуральное число <= 9999; верно ли, что оно содержит три одинаковых цифры? C++
C++ среди чисел k,l,r два одинаковых,а в третье отлично от них.Переменной n присвоить значение числа,отличного от двух одинаковых
Разбить строку на все "связные" подстроки. Получившиеся подстроки записать в вектор C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
angels
 Аватар для angels
1 / 1 / 3
Регистрация: 20.10.2010
Сообщений: 30
20.10.2010, 16:03     Три одинаковых подстроки #2
strcmp, _fstrcmp

Сравнить 2 строчки

int strcmp(const char *s1, const char *s2);
int far _fstrcmp(const char far *s1, const char far *s2);



Сравнивает две ленты.
Возвращает негативное значение, если s1 < s2;
нуль, если s1 == s2;
позитивное значение, если s1 > s2
Rim
Сообщений: n/a
20.10.2010, 18:25     Три одинаковых подстроки #3
это не то, мне нужно не сравнить 2 строки, а проанализировать одну, и если в ней есть 3 повторяющихся последовательности подряд, то вывести НЕТ иначе ДА; уже задолбался нифига не работает
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
20.10.2010, 22:07     Три одинаковых подстроки #4
Вот так работает: что не понятно могу разжевать

Уупс..... только тут для двух построк.Сделать для трех теперь дело техники

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
using namespace std;
 
int main(){
char str[100]; 
gets(str);
 
for(int ind = 0;ind < strlen(str);++ind)
{for(int s = 2;s < strlen(str);++s)
{char * substr = new char[s+1];
char * tmp_str = new char[100];
strncpy(substr,str+ind,s);
substr[s] = '\0';
 
strncpy(tmp_str,str+s+ind,s);
tmp_str[s] = '\0';
if(strcmp(tmp_str,substr) == 0) cout << "No";
delete [] substr;
delete [] tmp_str;
}
Yandex
Объявления
20.10.2010, 22:07     Три одинаковых подстроки
Ответ Создать тему
Опции темы

Текущее время: 20:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru