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

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

Войти
Регистрация
Восстановить пароль
 
Seroga7
6 / 6 / 1
Регистрация: 08.12.2012
Сообщений: 147
#1

Количество подстрок в строке - C++

09.03.2013, 20:53. Просмотров 1249. Ответов 5
Метки нет (Все метки)

Нужно что-бы пользователь ввел 2 строки и ему вывело сообщение о том, сколько раз встречается строка 2 в первой строке. Как это сделать без классов, так как мы пока их не учили, а задание таковое есть..?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2013, 20:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Количество подстрок в строке (C++):

Написать функцию, находящую в заданной строке количество подстрок, состоящих из цифр - C++
Помагите пожалуйста! задание по программир. Напишите функцию Int kol(char*s) которая находит в заданной строке количество подстрок,...

Строки. Подсчитайте количество подстрок в строке. Определите длину самого короткого слова. - C++
Дана строка слов, разделенных пробелами и запятыми. Подсчитайте количество подстрок (заключенных между запятыми) в строке. Определите длину...

Найти количество вхождений подстрок в строку - C++
Собственно, в input.txt лежит строка размером до 250 символов, в output.txt нужно найти количество вхождений в нее подстрок, а именно...

Подсчитать количество подстрок в текстовом файле - C++
Помогите написать программу которая может подсчитать сколько раз подстрока встречается в текстовом файле.

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

В заданной строке определить количество слов (в строке может содержаться несколько пробелов подряд). - C++
В заданной строке определить количество слов (в строке может содержаться несколько пробелов подряд).

5
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
09.03.2013, 22:40 #2
Наличие подстроки в строкеhttp://www.cplusplus.com/reference/cstring/strstr/
0
egor2116
342 / 373 / 42
Регистрация: 20.01.2013
Сообщений: 1,132
09.03.2013, 22:52 #3
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
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
 
 
    string src,sub;
    src="aaa sss ddd aaa aaa";
    sub="aaa";
 
    int start = 0;
       int count = 0;
       int pos = 0;
       for(;;){
           pos = src.find(sub.c_str(),start);
           if (pos != -1){
               start = pos + sub.size();
               count++;
           } else {
               break;
           }
       }
               cout<<"Найдено совпадений "<<count<<endl;
  return 0;
}
0
Seroga7
6 / 6 / 1
Регистрация: 08.12.2012
Сообщений: 147
09.03.2013, 23:02  [ТС] #4
Спасибо, но я уже и сам написал функцию))

Вот такая вот она:

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
int str_in_str(char *str_long, char* str_short, int size_long, int size_short){
 
    int i,
        j,
        start,
        number=0,
        main_number=0;
 
    for (i = 0; i < size_long; ++i){
        if (str_long[i] == str_short[0]) {
            start = i;
            for (j = 0; j < size_short; ++j) {
                if (str_short[j] == str_long[start]) {
                    number++;
                    start++;
                }
            }
            if (number == size_short) {
                main_number++;
                number = 0;
            }
        }
    }
    return main_number;
}
0
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
10.03.2013, 08:02 #5
Как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstring>
 
 
size_t strstr_count(const char * str, const char * find){
    size_t count=0;
    const char * p=strstr(str,find);
    while(p){
        ++count;
        p=strstr(++p,find);
    }
    return count;
}
 
 
int main(){
    const char * str="MyMyMy";
    std::cout<<strstr_count(str,"My")<<std::endl;
}
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
10.03.2013, 10:03 #6
У меня такое впечатление, что тс просто нужен был алгоритм, без использования библиотечных вызовов. А не только "без классов". Вот тут можно ознакомиться с алгоритмами.
0
10.03.2013, 10:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2013, 10:03
Привет! Вот еще темы с ответами:

Дан двумерный массив. найти количество элементов в каждой строке, меньших диагонального в этой строке - C++
1.Сформировать квадратную матрицу 000001 000020 000300 0n-10000 n00000 2.Дан двумерный массив. найти количество элементов в...

Массивы. Определить количество элементов в каждой строке матрицы А, модуль которых равняется порядковому номеру элемента в строке - C++
дано матрицу А размером 4х5. определить количество элементов в каждой строке матрицы А, модуль которых равняется порядковому номеру...

Подсчитать количество всех строк, а потом - количество слов в каждой строке - C++
Программа считает количество строк в файле add.txt выводит на экран и записывает в новый указанный пользователем файл. #include...

Подсчитать общее количество цифр и количество единиц в строке - C++
Вводится текст. Среди символов этого текста имеется несколько цифр. Подсчитать общее количество цифр и количество единиц в строке. Если в...


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

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

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