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

С использованием функции найти все вхождения подстроки в строке

07.05.2014, 05:24. Показов 2127. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем логимыслящим Большой Привет!
Помогите меня избавить от страданий написать программу...Лайками обеспечу!

Функция находит в строке заданную подстроку и возвращает указатель на нее. С использованием функции найти все вхождения подстроки в строке.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2014, 05:24
Ответы с готовыми решениями:

Найти и заменить в исходной строке все вхождения заданной подстроки
Найти в исходной строке все вхождения (но не более девяти) заданной подстроки и заменить их на...

Найти в исходной строке все вхождения заданной подстроки и заменить их на другую строку
Доброго времени суток! Помогите, пожалуйста, с задачей. Буду премного благодарна! Найти в...

В строке символов заменить все вхождения подстроки p на не более чем n символов подстроки q
Составить функцию Zam(s,p,q,n), которая в строке символов s заменяет все вхождения подстроки p на...

Уничтожить в строке все вхождения подстроки
Заданная строка символов. Уничтожить в нем все вхождения подстроки 'Y + Z ".

2
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,927
07.05.2014, 16:42 2
Лучший ответ Сообщение было отмечено SLG88 как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
char *strstr(char *s1,char *s2)
{
    char *p,*q,*t;
    p=s1;
    while(*p)   //продолжать пока не закончится первая строка
    {
    q=s2;       //начало второй строки
    for(;*p&&*p!=*q;p++);   //поиск первого символа второй строки в первой строке
    if(!*p) return NULL;    //Если первая строка закончилась, то вторая не входит
    t=p;                    //запомнить начало возможного вхождения
    for(;*p&&*q&&*p==*q;p++,q++);   //проверка вхождения
    if(!*q)return t;        //если вторая входит в первую, вернуть указатель вхождения
    if(!*p) return NULL;    ////Если первая строка закончилась, то вторая не входит
    p=t+1;                  //продолжить поиск вхождения
    }
 
}
Остальное самостоятельно
1
4 / 0 / 0
Регистрация: 29.10.2013
Сообщений: 7
08.05.2014, 09:58  [ТС] 3
alexcoder, Спасибо за безупречную отзывчивость!
0
08.05.2014, 09:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2014, 09:58
Помогаю со студенческими работами здесь

Реализовать функции поиска последнего вхождения подстроки в строке
Необходимо модифицировать данную функции, чтобы она указывала на индекс последнего вхождения слова...

Строки. Удалить из строки S все вхождения подстроки s1
Дано предложение S. Написать программу, удаляющую из него все вхождения подстроки s1. (под...

Заменить в строке S1 все вхождения строки S2 на S3
Даны три строки S1, S2, S3. Заменить в строке S1 все вхождения строки S2 на S3.

Заменить в строке S все вхождения строки S1 на строку S2
Даны строки S , S1, S2. Заменить в строке S все вхождения строки S1 на строку S2 - C (СИ)


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

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