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

Строки в C++ - C++

Восстановить пароль Регистрация
 
vasya_91
3 / 3 / 0
Регистрация: 28.10.2010
Сообщений: 70
02.03.2012, 19:05     Строки в C++ #1
Дана фраза. Определить, имеются ли в ней числа, состоящие из одной цифры.
Подскажите каков алгоритм решения данной задачи...
Пожалуйста=
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2012, 19:05     Строки в C++
Посмотрите здесь:

C++ Вывести строки файла, после строки добавляя, сколько раз в ней встретилось слово
Даны две строки. Получить строку, в которой чередуются слова первой и второй строки C++
Строки. Вывести на печать то слово этой строки, которое по алфавиту предшествует всем другим C++
C++ .Упорядочить строки матрицы по убыванию значений произведений наименьшего и наибольшего элементов каждой строки
C++ Если строки одинаковы, объединить две строки, исключив из второй первые десять символов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
02.03.2012, 19:26     Строки в C++ #2
vasya_91,
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
#include <iostream>
#include <string>
#include <algorithm>
#include <iterator>
#include <sstream>
#include <vector>
#include <cctype>
 
int main() {
   std::string string = "thisasd 2r3 335 37 8 5 4 756 383 37 is 124 1 test ssd1 7 1 string";
   std::istringstream stream(string);
   std::vector <std::string> vec_strings;
   std::copy(
      std::istream_iterator <std::string>(stream),
      std::istream_iterator <std::string>(),
      std::back_inserter <std::vector <std::string>>(vec_strings)
   );
   std::cout << 
      std::count_if(
      vec_strings.begin(),
      vec_strings.end(),
      [](const std::string & value) -> bool {
         return value.size() != 1 ? false : std::isalnum(*value.begin());
      }
   );
 
   return 0;
}
R136a1
 Аватар для R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
02.03.2012, 19:41     Строки в C++ #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
28
29
30
31
32
#include <iostream>
#include <cctype>
#include <cstring>
 
int countOfDigits(const char *, const size_t);
 
int main()
{
        char str[256];
 
        std::cin.getline(str,256);
 
        std::cout << "count: " << countOfDigits(str,strlen(str)) << std::endl;
 
        return 0;
}
 
int countOfDigits(const char *str, const size_t len)
{
        int count = 0;
 
        for(int i = 0; i < len; i++)
                if(isdigit(str[i]))
                {
                        if(isdigit(str[i+1]))
                                while(++i < len && isdigit(str[i]));
                        else
                                count++;
                }
 
        return count;
}
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
02.03.2012, 19:49     Строки в C++ #4
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <boost/regex.hpp>
 
int main()
{
    std::string str = "1 regex";
    
    std::cout << std::boolalpha << boost::regex_match( str, boost::regex(".*(\\s|\\A)\\d(\\s|\\z).*") );
}
Yandex
Объявления
02.03.2012, 19:49     Строки в C++
Ответ Создать тему
Опции темы

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