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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MrGluck
Модератор
Эксперт CЭксперт С++
7286 / 4447 / 650
Регистрация: 29.11.2010
Сообщений: 12,026
#1

Ввести длинную строку s1 и шаблон s подсчитать сколько раз входит шаблон s в строку s1 - C++

29.11.2010, 21:19. Просмотров 549. Ответов 0
Метки нет (Все метки)

Ввести длинную строку s1 и шаблон s подсчитать сколько раз входит шаблон s в строку s1.

Вот что я написал:

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
#include<iostream>
#include<conio.h>
#include<clocale>
#include<string>
using namespace std;
 
int main(){
    setlocale(LC_ALL,"Russian");
    char s1[256];
    cout<<"Введите строку : ";
    cin.getline(s1,256); 
    char s2[128];
    cout<<"Введите шаблон: ";
    cin.getline(s2,128); 
    int number=0;
    int n=0;
    int j=strlen(s2);
    j--;
    for(int i=0;s1[i];i++)
    {
            if(s1[i]==s2[0])
            {
            for(n=0;s1[i+n]==s2[0+n],n+1<=j;n++)
            if((s1[i+n]!=s2[0+n])&&((n+1)<j))
            {
            n=j;
            number--;
            }                
            if(n==j)
            {
            number++;
            }
            }
    }
    cout<<"Количество шаблонов в сроке равно "<<number;
    getch();
}
проблема в том, что если допустим ввести privethgjkd privetfghjk,,,privet и шаблон privet
все выведет правильно, но если ввести шаблон privets и эту же строку, то покажет как при шаблоне privet

Добавлено через 13 минут
переделал сам, работает)


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
#include<iostream>
#include<conio.h>
#include<clocale>
#include<string>
using namespace std;
 
int main(){
    setlocale(LC_ALL,"Russian");
    char s1[256];
    cout<<"Введите строку: ";
    cin.getline(s1,256); 
    char s2[128];
    cout<<"Введите шаблон: ";
    cin.getline(s2,128); 
    int number=0;
    int n=0;
    for(int i=0;s1[i];i++)
    {
            if(s1[i]==s2[0])
            {
            for(n=0;s1[i+n]==s2[0+n],n<strlen(s2);n++)
            if(s1[i+n]!=s2[0+n]&&n<strlen(s2))
            {
            n=strlen(s2);
            }                
            if(n==strlen(s2))
            {
            number++;
            }
            }
    }
    cout<<"Количество шаблонов в сроке равно "<<number;
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2010, 21:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ввести длинную строку s1 и шаблон s подсчитать сколько раз входит шаблон s в строку s1 (C++):

Ввести строку, подсчитать сколько раз первая буква входит в строку - C++
Ввести строку, подсчитать сколько раз первая буква входит в строку. C++

Подсчитать, сколько раз строка b входит в строку а - C++
Подсчитать, сколько раз строка b входит в строку а. Добавлено через 7 минут Вот мои наработки но не очень правильные #include...

Ввести строку. Подсчитать сколько раз в последовательности символов встречается "abc" - C++
Ввести строку. Подсчитать сколько раз в последовательности символов встречается &quot;abc&quot;. Спасибо.

Определить, сколько раз данная подстрока входит в строку - C++
Вводятся подстрока и строка. Определить, сколько раз данная подстрока входит в строку. Наложение строк не учитывать, т.е. в строку aaaa...

Определить, сколько раз входит в строку группа букв abc - C++
Дана строка. Определить, сколько раз входит в нее группа букв abc.

Найти, сколько раз входит в строку некоторый произвольный символ - C++
описать функцию работы со строкой символов, которая найдет, сколько раз входит в строку некоторый произвольный символ (задать как параметр...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2010, 21:19
Привет! Вот еще темы с ответами:

Написать программу,которая подсчитывает сколько раз заданный символ входит в данную строку текста - C++
Дан текст.Написать программу,которая подсчитывает сколько раз заданный символ входит в данную строку текста.

Задать строку и посчитать, сколько раз в нее входит буква "а" - C++
Здравствуйте, помогите пожалуйста с такой задачей задать строку и посчитать сколько раз в нее входит буква а Вот мой код , но он...

Ввести строку и слово. Определить и вывести, сколько раз встречаются в строке буквы, перечисленные в слове. - C++
Ввести строку и слово. Определить и вывести, сколько раз встречаются в строке буквы, перечисленные в слове. Ha Cu. Заранее...

Ввести строку и слово. Определить и вывести, сколько раз встречаются в строке буквы, перечисленные в слове. - C++
Ввести строку и слово. Определить и вывести, сколько раз встречаются в строке буквы, перечисленные в слове. Заранее спасибо


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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