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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Rim
Сообщений: n/a
#1

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

20.10.2010, 14:32. Просмотров 407. Ответов 3
Метки нет (Все метки)

Помогите вот с такой вот задачей:
Пользователь вводит строку максимум из 100 символов, программа выводит ДА или НЕТ, в зависиомти от следующего условия:

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

Найти координаты первого вхождения в заданную строку подстроки, состоящей из двух одинаковых заданных символов - C++
Найти координаты первого вхождения в заданную строку подстроки, состоящей из двух одинаковых заданных символов. Помогииииите

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

Есть ли в одномерном массиве три подряд одинаковых элемента? - C++
Если в одномерном массиве есть три подряд идут одинаковых элемента, то переменной r присвоить значение истина.

Даны три целых числа a, b и c. Найти количество одинаковых чисел среди них - C++
Даны три целых числа a, b и c. Найти количество одинаковых чисел среди них. Решить эту задачу используя сложные составные логические...

Дано натуральное число <= 9999; верно ли, что оно содержит три одинаковых цифры? - C++
дано натуральное число &lt;=9999 верно ли что оно содержит три одинаковых цифры как например 6676, 4544, 0006?

Найти количество N-значных чисел, состоящих из цифр 1 и 2, не содержащих три подряд идущих одинаковых цифры - C++
Здравствуйте! Вот еще одна задача с E-olymp (№ 12). К сожалению, только 67% (один - неправильный ответ, остальные не прошли по времени)....

3
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
0
Rim
Сообщений: n/a
20.10.2010, 18:25 #3
это не то, мне нужно не сравнить 2 строки, а проанализировать одну, и если в ней есть 3 повторяющихся последовательности подряд, то вывести НЕТ иначе ДА; уже задолбался нифига не работает
TheMachinist
243 / 175 / 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;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2010, 22:07
Привет! Вот еще темы с ответами:

Найти длину максимальной подстроки, такой что в этой подстроке не существует подстроки равной какой-то строке - C++
Не могу решить задачу, я понял саму задачу. Не могу написать код, помогите, плз! У Дроида-На2а есть строка S, и K строк ai. Ваша задача...

Создать функции добавления подстроки и удаления подстроки - C++
Написать в программе функции добавления подстроки и удаления подстроки в любом месте данного рядка.

Разбить строку на все "связные" подстроки. Получившиеся подстроки записать в вектор - C++
Нужно разбить минимальную строку на &quot;связные&quot; подстроки Например: строка Mas: &quot;qwe&quot; нужны подстроки: &quot;q&quot;,&quot;w&quot;,&quot;e&quot;,&quot;qw&quot;,&quot;we&quot;,&quot;qwe&quot;....

Мне надо сделать поиск последнего вхождения подстроки s1 в строку s(с функцией LastPos, не strstr). В этом коде просто вхождение подстроки в строку. - C++
#include &lt;stdio.h&gt; int count_of_substrings(string s, string s1){ int start = 0; int count = 0; int pos = 0; ...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
20.10.2010, 22:07
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru