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

Функция подсчета пар букв в строке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти первые пять самых повторяющихся элементов массива и количество их вхождений http://www.cyberforum.ru/cpp-beginners/thread359766.html
Есть отсортированный по возрастанию массив. Надо найти первые пять самые повторяющиеся и их кол-во вхождений. Например 1111111222222333334444555667 Ответ будет 1 2 3 4 5 Как реализовать...
C++ одна ошибка по массиву программа по выяснению дня в котором осадко выпало больше нормы #include <iostream> #include <conio.h> using namespace std; main () {int kol=0;int dni=0;int A,n;float sr; cout << "vvedite... http://www.cyberforum.ru/cpp-beginners/thread359761.html
Проблема с std::find_if C++
Здравствуйте, есть такой пример использования алгоритма из стандартной библиотеки: #include <vector> #include <algorithm> int main() { class LP { public: bool operator...
C++ Не могу понять ошибку
Пытаюсь решить вот эту задачу http://www.cyberforum.ru/cpp-beginners/thread356063.html Есть решения на бэйсике вот http://www.cyberforum.ru/cpp-beginners/thread358206.html Вот мой вариант на...
C++ Почему дружественная функция с перегруженным оператором << не имеет доступа к данным класса? http://www.cyberforum.ru/cpp-beginners/thread359691.html
В заголовочном файле "klass.h" есть класс: class klass { int x; public: klass(); ~klass(); void show(); friend void operator<<(ostream& a, klass& b); };
C++ нахождение Максимальной длины имени объекта Fat32 Прошу помощи,подсказки в решении такой вот задачки(С++Borland3.1) поиск объектов с максимальным количеством символов в имени среди объектов с длинными именами для FAT максимальное к-во-255... подробнее

Показать сообщение отдельно
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
03.10.2011, 13:59
al072, вот держи.
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
#include <iostream>
using std::string;
using std::cout;
using std::endl;
size_t count_pair1(const string str, char a, char b);
int  count_pair2(const char* str, char a, char b);
 
int  main(void) {
  string str = "xabaacbaxab";
  cout << "count pair string: " << count_pair1(str, 'a', 'b') << endl;
 
  char buf[] = "XY to XY off XY-YX-YX";
  cout << "count pair char: " << count_pair2(buf, 'X', 'Y') << endl;
 
  std::cin.get();
  return 0;
}
 
size_t count_pair1(const string str, char a, char b) {
   size_t cnt = 0u;
   for(string::const_iterator i = str.begin(); i + 1 != str.end(); *i++) {
         if(*i == a && *(i + 1) == b)
             cnt++;
   }
   return cnt;
}
 
int  count_pair2(const char* str, char a, char b) {
  int cnt = 0;
  for(; *(str + 1) != '\0'; *str++) {
        if( *str == a && *(str + 1) == b)
               cnt++;
  }
  return cnt;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru