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

Дана строка символов.Преобразовать строку, удалив из неё - C++

Восстановить пароль Регистрация
 
venox
1 / 1 / 0
Регистрация: 08.01.2013
Сообщений: 24
14.10.2013, 12:24     Дана строка символов.Преобразовать строку, удалив из неё #1
Дана строка символов.Преобразовать строку, удалив из неё все символы, не являющимися буквами.Определит сколько в тексте слов начинающихся на букву а.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2013, 12:24     Дана строка символов.Преобразовать строку, удалив из неё
Посмотрите здесь:

C++ Преобразовать строку, удалив из неё все символы, не являющиеся буквами или цифрами
Дана строка символов. Изменить строку – во всех словах, имеющих нечетное количество символов, средний символ удалить. C++
Преобразовать строку символов, удалив из нее все символы, не являющиеся буквами C++
C++ Дана строка символов. Подсчитать общее число вхождений символов .,+ в строку
Преобразовать строку, удалив из нее каждую пару символов ‘<<’ и повторив каждую пару символов ‘>>’. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Atlant_V
8 / 8 / 1
Регистрация: 14.08.2013
Сообщений: 99
14.10.2013, 12:29     Дана строка символов.Преобразовать строку, удалив из неё #2
что сложного? что не понятно?
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
14.10.2013, 12:42     Дана строка символов.Преобразовать строку, удалив из неё #3
Цитата Сообщение от venox Посмотреть сообщение
Дана строка символов.Преобразовать строку, удалив из неё все символы, не являющимися буквами.Определит сколько в тексте слов начинающихся на букву а.
Можно как то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <regex>
#include <string>
using namespace::std;
 
int main()
{
    string s="helllow world ada gacpada , ,.dfklka!#";
    s=regex_replace(s,regex("[^ \\w]"),string());
    cout <<"s= "<<s<<endl;
    string s1=s;
    int count(0);
    smatch sm;
    while(regex_search(s1,sm,regex("(?: |^)a[^ ]*",std::regex_constants::icase)))
    {
        count++;
        s1=sm.suffix().str();
    }
    cout <<"count_a= "<<count<<endl;
 
    return 0;
}
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
14.10.2013, 16:25     Дана строка символов.Преобразовать строку, удалив из неё #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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <cstddef>
#include <cctype>
#include <cstring>
#include <string>
#include <iostream>
 
using namespace std;
 
int main()
{
  string s;
  cout << "-> ";
  if(!getline(cin, s) || s.empty())
  {
    return 1;
  }
  cout << "\nИсходная строка: " << s << '\n';
 
  char const* delim = " ,.:!?";
  size_t n = (tolower(s[0]) == 'a') ? 1 : 0;
  for(size_t i = n + 1; i < s.size(); ++i)
  {
    if(strchr(delim, s[i-1]) && (tolower(s[i]) == 'a'))
    {
      ++n;
    }
  }
  cout << "Количество слов начинающихся на букву 'A(a)': " << n << '\n';
 
  size_t j = 0;
  for(size_t i = 0; i < s.size(); ++i)
  {
    if(isalpha(s[i]))
    {
      s[j] = s[i];
      ++j;
    }
  }
  s.erase(j, s.size() - j);
  cout << "Строка полученная путём исключения небуквенных символов: " << s << '\n';
}
Yandex
Объявления
14.10.2013, 16:25     Дана строка символов.Преобразовать строку, удалив из неё
Ответ Создать тему
Опции темы

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