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

входной поток данных - C++

Восстановить пароль Регистрация
 
chernyatinskiy
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 36
08.12.2012, 22:09     входной поток данных #1
Из входного потока данных нужно подсчитать количество повторов в тексте DK и 22
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nikcharn
 Аватар для Nikcharn
71 / 53 / 3
Регистрация: 31.07.2009
Сообщений: 149
09.12.2012, 03:27     входной поток данных #2
В смысле, найти количество вхождений подстрок "DK" и "22" в тексте?
chernyatinskiy
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 36
09.12.2012, 13:28  [ТС]     входной поток данных #3
Ну написать код который вычислит сколько раз будет повторяться в тексте "DK" и "22"
DPS
 Аватар для DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 107
Завершенные тесты: 1
09.12.2012, 22:26     входной поток данных #4
Можно стандартной функцией сделать - strstr() , она ищет вхождение подстроки

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include<cstring>   //для strstr()
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Rus");
 
    char buffer[1000];                      //здесь будем хранить введенный текст
 
    cout<<"Введите текст: ";
    cin.getline(buffer,sizeof(buffer));     //получаем текст
 
    char *str1="DK";    //искомая подстрока
 
    int kol_vo_str1=0;  //кол-во вхождений 1-ой подстроки
 
    char *ptr;      //хранит указатеь
 
    ptr=strstr(buffer,str1);    //ищем вхождение  подстроки
 
        if(ptr)         //если подстрока есть
        {
            ++kol_vo_str1;  //увеличиваем счетчик вхождения строки
            ptr++;          //увеличиваем указатель на 1
 
            ptr=strstr(ptr,str1);   //снова ищем вхождение
 
            while(ptr)      //пока подстрока входит в строку
            {
                if(ptr)     //если подстрока есть
                {
                    ++kol_vo_str1;  //увеличиваем счетчик вхождения строки
                    ptr++;          //увеличиваем указатель на 1
                }
 
                    ptr=strstr(ptr,str1);   //ищем вхождение
            }
 
            cout<<"Подстрока "<<str1<<" встречается в тексте "<<kol_vo_str1<<" раз(а)"<<endl;   //выводим на экран кол-во вхождений
        }
        else
        {
            cout<<"Нет вхождений подстроки "<<str1<<endl;
            exit(0);
        }
 
return 0;
}
Yandex
Объявления
09.12.2012, 22:26     входной поток данных
Ответ Создать тему
Опции темы

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