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

Поиск подстроки - C++

Восстановить пароль Регистрация
 
lichnosti2009
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 4
30.03.2010, 01:03     Поиск подстроки #1
Эта программа написана чтобы искало буквы....а как написать чтобы искало количество слова например " kag "
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream.h> 
#include<string.h> 
int main() 
{ 
    char Arr[]="Privet kag kak, kag dela kak"; 
    char*ptr=Arr; 
    char Find='kag'; 
    int counter=0; 
    do 
     
    { 
        if(ptr=strchr(ptr,Find)){ 
            counter++; 
            ptr++; 
            } 
            } 
            while(ptr); 
            cout<<counter++; 
            return 0; 
            }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2010, 01:03     Поиск подстроки
Посмотрите здесь:

Поиск подстроки C++
Поиск подстроки в строке C++
C++ Поиск подстроки в строке
Поиск подстроки C++
Поиск подстроки C++
C++ Поиск подстроки
C++ Поиск подстроки в строке
Поиск подстроки C++
C++ Поиск подстроки
Поиск подстроки C++
Поиск вхождения подстроки C++
Поиск подстроки в строке C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
 Аватар для Vorona
661 / 523 / 44
Регистрация: 05.03.2010
Сообщений: 1,267
30.03.2010, 02:09     Поиск подстроки #2
strstr();

Добавлено через 29 минут
только у тебя Find - должен быть символ, а ты четыре туда написал
char *Find = "kag";
так правильней)

Добавлено через 33 минуты
не понимаю, к чему метка "нет" снизу, т.к. char выделяет 1байт памяти(8 бит), а в переменной Find, типа char - 4 байта, что несомненно приведет к ошибке
Nameless One
Эксперт С++
 Аватар для Nameless One
5759 / 3408 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
30.03.2010, 12:41     Поиск подстроки #3
На С++:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
 
int main()
{
    std::string str("Privet kag, kak, kag dela kak");
    std::string find("kag");
    size_t index=0;
    size_t count=0;
    //Поиск
    while((index=str.find(find, index))!=std::string::npos)
    {
        ++count;
        ++index;
    }
    std::cout << count << std::endl;
    system("pause");
    return 0;
}
Yandex
Объявления
30.03.2010, 12:41     Поиск подстроки
Ответ Создать тему
Опции темы

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