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

Строку в число - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Множественное наследование http://www.cyberforum.ru/cpp-beginners/thread277329.html
Вычислите площадь и периметр прямоугольника, если известны его диагональ и одна из сторон.
C++ Как посчитать число букв в каждом слове строки подскажите , как посчитать число букв в каждом слове строки http://www.cyberforum.ru/cpp-beginners/thread277307.html
C++ Не могу разобрать код структуры
struct point { int x, y; point(int xx = 0, int yy = 0) : x(xx), y(yy) {}; // <-что это? }; Есть вот такой код. Не могу понять строчку нижнюю. Поясните, кто сможет понять. Это что-то типа конструктора?
Космическая стрелялка C++
нужен исходный код игры,в поиске искал, не получилось найти,может у кого есть исходник или знает где можно найти,буду очень благодарен,желательно чем проще тем лучше просто самолетик который можно перемещать собирать бонусы,на с++
C++ Поиск ошибки http://www.cyberforum.ru/cpp-beginners/thread277286.html
Здравствуйте дорогие форумчане. Есть следующая задача. Во вводимы массивах элементы расставлять по убыванию, если сумма элементов <0, по возрастанию, если сумма элементов >0, и удалять нулевые, если равна нулю. Есть код /* *Во вводимы массивах элементы расставлять по убыванию, *если сумма элементов <0, по возрастанию, если сумма элементов >0, * и удалять нулевые, если равна нулю. */ ...
C++ Динамические изображения С++ Дали задание создать 2 программки которые бы изображали взрыв и движение глиссера. В нете по графике в С ничего не мог найти как это реализовать? подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт C++
2298 / 1668 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
16.04.2011, 12:14     Строку в число
Так кошернее будет:
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <iterator>
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/trim.hpp>
#include <boost/foreach.hpp>
#include <boost/lexical_cast.hpp>
 
bool isOperator(char character) {
  return boost::is_any_of("+-*/")(character);
}
 
std::string trim(const std::string& text) {
  std::string result = text;
  
  boost::trim(result);
  
  return result;
}
 
double toDouble(const std::string& text) {
  return boost::lexical_cast<double>(trim(text));
}
 
std::vector<double> extractOperands(const std::string& expression) {
  std::vector<std::string> operands;
  boost::split(operands, expression, isOperator);
    
  std::vector<double> result;
  std::transform(operands.begin(), operands.end(), std::back_inserter(result), toDouble);
  
  return result;
}
 
std::vector<char> extractOperators(const std::string& expression) {
  std::vector<char> result;
  
  BOOST_FOREACH(char character, expression)
     if (isOperator(character))
        result.push_back(character);
  
  return result;
}
 
int main() {
  std::string expression = "22.3 + 69 - 69 * 98 + 23.5";
  
  std::vector<double> operands  = extractOperands (expression);
  std::copy(operands.begin(), operands.end(), std::ostream_iterator<double>(std::cout, " "));
  
  std::cout << std::endl;
  
  std::vector<char> operators = extractOperators(expression);
  std::copy(operators.begin(), operators.end(), std::ostream_iterator<char>(std::cout, " "));
}
Результат: http://liveworkspace.org/code/8a4949...d47fa5cf21fec7

Не по теме:

Цитата Сообщение от sandye51 Посмотреть сообщение
CyBOSSeR, ни раз уже мои так удаляли
Что за проекты и куда выкладывали: на форум или на файлообменник?

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