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

Подсчёт количества подстрок - C++

Восстановить пароль Регистрация
 
gmb124
8 / 4 / 1
Регистрация: 11.04.2012
Сообщений: 54
21.07.2012, 22:58     Подсчёт количества подстрок #1
Посмотрите пожалуйста нормально ли написана функция, которая считает количество подстрок?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int SearchSubString(char *s1,char *s2){
    int result = 0;
 
    while(*s1){
    if(strstr(s1,s2)) 
        result++;
    else return result;
    
    s1 = strstr(s1,s2)+1;
    }
    
    return result;
}
Добавлено через 4 минуты
Вот так если, там опечатка.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int SearchSub(char *s1,char *s2){
    int result = 0;
 
    while(*s1){
    if(strstr(s1,s2)) 
        result++;
    else return result;
    
    s1 = strstr(s1,s2) + Length(s2);
    }
    
    return result;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2012, 22:58     Подсчёт количества подстрок
Посмотрите здесь:

C++ Подсчёт количества слов в строке
Подсчёт количества знаков препинания в строке C++
C++ Подсчёт количества символов в строке (cin.getline)
C++ Подсчёт количества выпадений чисел в массиве.
C++ Подсчёт количества слов в предложении
C++ Подсчёт количества символов и замена
C++ Подсчёт количества чисел в строке
Подсчёт количества символов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
21.07.2012, 23:18     Подсчёт количества подстрок #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstring>
 
int subs_count(const char * str, const char * sub) {
    return ( str = strstr(str, sub) ) ? 1 + subs_count(str + 1, sub) : 0;
}
 
const int STR_LEN(256);
 
int main() {
    char str[STR_LEN], sub[STR_LEN];
    
    using namespace std;
    while ( cout << "String: " && cin.getline(str, STR_LEN) && *str
        && cout << "Substring: " && cin.getline(sub, STR_LEN) && *sub )
            cout << subs_count(str, sub) << " meetings." << endl;
    
    return 0;
}
Yandex
Объявления
21.07.2012, 23:18     Подсчёт количества подстрок
Ответ Создать тему
Опции темы

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