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

Подсчет в строке символов вводимых с клавиатуры - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ одномерный массив http://www.cyberforum.ru/cpp-beginners/thread190543.html
одномерный массив заполнить случайными плавающими числами и отсортировать по убыванию (число элементов массива не менее 15, сортировку произвести пузырьковым методом)
C++ Указатели. Как написать эту программу через указатели??? #include <stdio.h> #include <conio.h> int main() { int a; int b; int c; int s; int n; http://www.cyberforum.ru/cpp-beginners/thread190537.html
C++ Массив целых чисел.
Дан массив целых чисел. а) Разделить все элементы массива на его первый элемент; б) увеличить все элементы массива в два раза; в) уменьшить элементы массива на число A.
C++ Массив
Написать программу, которая вычисляет среднее арифметическое элементов массива без учета минимального и максимального элементов массива. Ниже приведен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). ! Среднее арифметическое без учета min и max значений. Введите массив (10 целых чисел в одной строке) ->12 10 5 7 15 4 10 17 23 7...
C++ Найти строчки в файле http://www.cyberforum.ru/cpp-beginners/thread190501.html
Здравствуйте помогите пожалуйсто решить задачку. Дан файл, содержащий сведения об автомобилях: марка, номер и фамилия владельца. Найти фамилии владельцев и номера всех автомобилей данной марки. Вот пробывал решить, но запутался. #include <iostream> #include <conio.h> #include <stdlib.h> #include <math.h>
C++ Удаление слов из строки Добрый день. Помогите пожалуйсто решить задачку. "Дана строка символов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелы внутри себя, будем называть словами. Исключить из строки слова, состоящие из символов русского и латинского алфавитов одновременно." Добавлено через 1 час 29 минут Вот, пробовал что-то делать, но не выходит... #include <cstdlib>... подробнее

Показать сообщение отдельно
DAgot_
 Аватар для DAgot_
22 / 22 / 1
Регистрация: 03.01.2010
Сообщений: 68
13.11.2010, 16:20     Подсчет в строке символов вводимых с клавиатуры
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int count_of_substrings(string src, string sub){
    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;
        }
    }
    return count;
}
Для поиска подстрок запускаем бесконечный цикл. Это делается т.к. мы не знаем точно сколько вхождений будет. А если бы знали, то и алгоритм нам не нужен был бы.
Первым же делом ищем вхождение подстроки в строку. Результат – позиция первого символа подстроки в строке. Т. к. искать начинаем с начала строки, то значение start = 0.
Итак, если мы нашли хот одно вхождение, то увеличиваем позицию для начала старта. Приведенная мною формула экономит процессорное время, т.к. пропускает найденную подстроку, и программа в этой части поиск уже не производит.
Также мы увеличиваем значение счетчика. И всё! В конце выводим значение счетчика.
 
Текущее время: 10:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru