Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ найти ошибку или предложить свое решение http://www.cyberforum.ru/cpp-beginners/thread1087874.html
Мальчик Вася играет в свою любимую RPG. Он нашел сундук с M ячейками, в каждой из которых лежит по одной бутылке с зельем лечения. У его героя на поясе есть N карманов, в каждом из которых также...
нужно сделать трассировку. кто-нибудь знает как? C++
неужели никто не знает как делать трассировку? завтра преподу сдавать все, а я уже который день не могу сделать трассировку. помогите. // 01(1).cpp: определяет точку входа для консольного...
C++ Определять тип вводимой переменной (char или int)
Вообщем изначально дали задание определять тип вводимой переменной (char или int ). Это я выполнил,затем изменили задание, нужно сделать чтоб была какая-нибудь строка или символьный масив, и...
C++ Не запускается программа после компиляции здравствуйте, собственно после данного кода компилятор Dev C++ никак не реагирует после нажатия RUN, компиляция проходит успешно. Что подскажете? раньше помню когда первый раз компилировал вылезала... http://www.cyberforum.ru/cpp-beginners/thread1087861.html
C++ где ошибка в коде? http://www.cyberforum.ru/cpp-beginners/thread1087848.html
видимо неправильно работает функция симметричности матрицы. потому что ввожу не симметричную матрицу, а она все равно сдвигает строку. где ошибка? #include <iostream> using namespace std; ...
C++ Рекурсия
Вот какой самый простой пример рекурсии я обнаружил в интернете: #include <iostream> using namespace std; int factorial(int n) { if (n == 1) return 1; else return factorial(n - 1)*n; }
C++ Без дополнительных библиотек текстовый файл
Без дополнительных библиотек преобразования текстового файла / С++ для начинающих -------------------------------------------------------------------------------- Добрый день! Ребята срочно...
C++ Проложить код программы для решения школьной геометрической задачи Задача: Дано: ABCA1B1C1 – прямая треугольная призма, AB = 13, CB = 14, AC = 15, O – центр описанной окружности, C1OC = 30°. Найдите V. Код: #include <conio.h> #include <iostream> #include... http://www.cyberforum.ru/cpp-beginners/thread1087821.html
C++ Сформировать из некоторой матрицы А(n,n) верхнеугольную, нижнетреугольную и диагональную матрицу http://www.cyberforum.ru/cpp-beginners/thread1087819.html
Сформировать из некоторой матрицы А(n,n) верхнеугольную матрицу B(n,n) (все элементы ниже главной диагонали нулевые), нижнетреугольную матрицу С(n,n) (все элементы выше главной диагонали нулевые) и...
C++ Перехват функции - GetProcAddress Здравствуйте. Покажите пожалуйста пример, как перехватит в dll "A" , функцию из dll "Б" В интернете только базовые примеры по перехвату функции через указатель, где я могу только через него и... http://www.cyberforum.ru/cpp-beginners/thread1087813.html
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7359 / 3608 / 495
Регистрация: 04.12.2011
Сообщений: 10,172
Записей в блоге: 5
03.02.2014, 16:54 0

Найти в строке два одинаковых фрагмента длиной более 5 символов и возвратить индекс начала первого из них

03.02.2014, 16:54. Просмотров 2801. Ответов 18
Метки (Все метки)

Ответ

Цитата Сообщение от Fene4ka_ Посмотреть сообщение
zss, также на сколько я понимаю, мы не должны вводить, что ищем, а оно должно само найти, что ищем ...
Так функцию же показали. А из строки ввести разве сложнее чем с консоли? Вот тут много лишнего, но как рабочий вариант (не проверял дотошно ) :
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
 
int main()
{
char sourcestr[]="olo lol tratratrumbumbumubumbum bum bum bum";
const size_t size_compiring_str = 5;
char compiring_str[size_compiring_str+1]={0};
 
size_t pos_cmp=0;
size_t pos_fnd=pos_cmp+1;
char *find_pos=0;
char *rezult_pos=0;
size_t size_sourcestr = sizeof(sourcestr)/sizeof(char);
while(pos_cmp < size_sourcestr){
while(pos_fnd < size_sourcestr){
find_pos=0;
rezult_pos=0;
strncpy(compiring_str, &sourcestr[pos_cmp], size_compiring_str); 
if((find_pos = strstr(&sourcestr[pos_fnd], compiring_str))!=0){
rezult_pos=&sourcestr[pos_cmp]; 
    break;
}
pos_fnd++;
}
if(find_pos!=0){
    break;
}
pos_cmp++;
pos_fnd=pos_cmp+1;
}
if(find_pos){
cout<<"the first entry is "<<rezult_pos<<" at pos "<<pos_cmp<<" in "<<sourcestr<<endl;
cout<<"and the substring is "<< find_pos;
}
else
cout<<"position is not found";
 
cout<<endl;
system("pause");
return 0;
}
Если перекрываться могут, но ТС молчит, как партизан.

Вернуться к обсуждению:
Найти в строке два одинаковых фрагмента длиной более 5 символов и возвратить индекс начала первого из них
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2014, 16:54
Готовые ответы и решения:

Найти в строке два одинаковых фрагмента (не включая пробелы) длиной более 5 символов
Привет всем вопрос состоит:Найти в строке два одинаковых фрагмента (не включая пробелы) длиной...

Найти слова в исходной строке длиной не более 3-х символов и составить из них новую строку
найти слова в исходной строке длиной не более 3-х символов и составить из них новую строку, ввод...

Найти слова в исходной строке длиной не более 3-х символов и составить из них новую строку
найти слова в исходной строке длиной не более 3-х символов и составить из них новую строку, ввод...

Возвратить индекс начала фрагмента, симметричного относительно центрального символа
Буду благодарен. Возвратить индекс начала фрагмента, симметричного относительно центрального...

Найти в строке слово минимальной длины и возвратить индекс его начала
Информатика 1 курс, прошу помочь с написанием программы: Найти в строке слово минимальной длины...

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