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

Посчитать, сколько раз подстрока встречается в строке - C++

Восстановить пароль Регистрация
 
svkpro
 Аватар для svkpro
8 / 8 / 0
Регистрация: 07.12.2012
Сообщений: 143
20.12.2012, 12:45     Посчитать, сколько раз подстрока встречается в строке #1
здравствуйте всем.
хочу посчитать сколько раз подстрока встречается в строке и не получается) помогите пожалуйста)подскажите что не так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main()
{
    locale::global(locale(""));
 
    string s;
    cout<<"введите строку:\n";
    cin>>s;
    string ps;
    cout<<"введите подстроку:\n";
    cin>>ps;
    int c;
    while(true)//вот сдесь при отладке ошибка
        {if(s.find(ps,0)!=NULL) c++;
         else
            break;
        }
    cout<<c;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 12:45     Посчитать, сколько раз подстрока встречается в строке
Посмотрите здесь:

C++ Посчитать сколько раз встречается каждый элемент в массиве.
C++ Массив: Посчитать, сколько раз в массиве встречается цифра 5.
Массив: посчитать сколько раз в двумерном массиве встречается 0. C++
Посчитать сколько раз встречается каждая буква в тексте C++
C++ Функция определяющая сколько раз в строке встречается заданная подстрока
Рекурсия: посчитать, сколько раз встречается заданная буква в массиве C++
C++ Посчитать сколько раз встречается каждый символ строки в мапе
C++ Написать программу, которая подсчитывает, сколько раз подстрока встречается в строке

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gus
 Аватар для Gus
24 / 35 / 2
Регистрация: 17.02.2009
Сообщений: 364
20.12.2012, 17:22     Посчитать, сколько раз подстрока встречается в строке #2
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
const int buff_size;
const int string_size;
 
int CheckString_To_pos(char *buff,int pos1,int pos2,char b_string[string_size])
{
char ExtractBuff[buff_size];
for(int i=pos1;buff[i]!='\0'&&i!=pos2;i++)
{
ExtractBuff[i-pos1]=buff[i];
}
buff[pos2+1]='\0';
 
if(strcmp(ExtractBuff,b_string)==0)
{return 0;}
}
 
int main()
{
cout <<"Hi!"<<endl;
char buff[buff_size];
char b_string[string_size];
int found;
int b_stringCount;
cout <<"Enter buff: "; cin>>buff; cout <<endl;
cout <<"Enter string: "; cin>>b_string; cout <<endl;
for(int i=0;b_string[i]!='\0';i++){b_stringCount=i;}
for(int i=0;i!=buff_size;i++)
{
found=CheckString_To_pos(&buff[0],int i,i+b_stringCount, b_string);
}
if(found!=0){cout <<"Founded: "<<found <<" counts."<<endl;}esle{cout <<"no found!"<<endl;}
system("pause");
}
этот кодэ далек до совершенства, но все же имеет алгоритм поиска строки, но не знаю рабочий ли..
Испытывай пробуй думай, совершенствуй!
Yandex
Объявления
20.12.2012, 17:22     Посчитать, сколько раз подстрока встречается в строке
Ответ Создать тему
Опции темы

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