Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
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
sergeevichvn
0 / 0 / 0
Регистрация: 02.02.2014
Сообщений: 8
04.02.2014, 03:00  [ТС] 0

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

04.02.2014, 03:00. Просмотров 3033. Ответов 19
Метки (Все метки)

Ответ

Цитата Сообщение от IGPIGP Посмотреть сообщение
Главное, что бы Вы понимали, что происходит и почему, и разобравшись смогли написать что-то осмысленное(имхо).
#include <string.h> // Подключаем библиотеки
#include <stdio.h> // Подключаем библиотеки
int main()
{
int L; // Объявляем переменную L типа integeer
char str[100]; //создаем массив символьного типа
char srs[7],*pos; //создаем массив символьного типа, + переменную pos (НЕ понятно, что значит звездочка)
puts("Где ищем:"); //вывод строки на экран, наверное лучше printf
gets(str); // получаем строку с клавиатуры и записываем в массив str
L=strlen(str); //присваиваем переменной l значение длинны введенной строки
for(int i=6;i<L-6;i++) // цикл выполняется пока i меньше длина строки-6 симвоолов
{
strncOpy(srs,str+i-6,6); // берем очередные 6 символов из строки // тут не совсем понятно, что в скобках
srs[6]=0; // присваиваем 6 элементу массива 0?
pos=strstr(str+i,srs); // ищем после последнего взятого символа //что значит strstr, почему два раза и что в скобках?
if(pos!=NULL) // условие, если переменная пос не равна 0, выводим на экран
printf("позиция второго фрагмента %s =%d",srs,(int)(pos-str));
}
return 0;
}

Вернуться к обсуждению:
Найти в строке два одинаковых фрагмента длиной более 5 символов и возвратить индекс начала первого из них
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2014, 03:00

Текст, состоящий не более чем из 255 символов, разбить на строки длиной не более 50 символов в строке
Текст, состоящий не более чем из 255 символов, разбейте на строки длиной не более 50 символов в...

Найти в строке фрагменты, содержащие последовательность одинаковых символов длиной более 3
Задача:Функция находит в строке фрагменты, содержащие последовательность одинаковых символов длиной...

В заданной строке заменить все последовательности одинаковых символов длиной более двух на конструкцию
Не могу понять в чем ошибка... Прога не работает... Задание такое: В заданной строке заменить все...

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