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

Снятие чисел с каждой строки, вычитание и запись - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дополнительно перегрузить логическую операторную функцию для операции | (побитовая дизъюнкция), определяющую параллельность двух отрезков http://www.cyberforum.ru/cpp-beginners/thread827458.html
Собственно все задание Разработать класс Line для работы с объектами типа отрезок. Члены-данные этого класса определяют координаты концов отрезка на плоскости. Класс должен содержать основной...
C++ strtok только для слов Посоветуйте функцию похожую на strtok(), только что работает и со словами. Например: Есть strtok, работает так char str = "ABCD$EFG"; char* primer = strtok(str,"$"); char* other = strtok(0,... http://www.cyberforum.ru/cpp-beginners/thread827457.html
C++ почему не перехватывается исключение типа double
#include <iostream> #include <conio.h> #include <cstring> using namespace std; void obrob(int a) { try { if(a!=3)
Friend function and Overload <<(>>) C++
#include <iostream> using namespace std; class array{ private: unsigned int size; int *mas; public: array(unsigned int sizestart=20000);
C++ Заполнение Единичной матрицы http://www.cyberforum.ru/cpp-beginners/thread827417.html
int n = 0; cout <<"Введите размер массива"; cin >> n; int **a = new int* ; for (int i = 0; i < n; i++) { a = new int ; } for (int i = 0; i < n; i++)
C++ Классы, грфы, операции на них Молю и помощи в написании перегруженного(или как так его правильно-то по-русски) оператора. Умные мужчины(а может и женщины), к вам обращаюсь суть вот в чем: есть класс граф, в котором есть... подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
04.04.2013, 10:46
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
#include <iostream>
#include <string>
#include <fstream>
 
#include <boost/regex.hpp>
#include <boost/lexical_cast.hpp>
 
int main()
{
   const int diff = 5000;
   const boost::regex re("(posY=)\"(\\d+\\.\\d+)\"");
   std::ifstream ifs("file.txt");
   const std::string s((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>());
   ifs.close();
   std::ofstream ofs("file_new.txt");
   boost::smatch matches;
   std::string::const_iterator pos = s.begin();
   while (boost::regex_search(pos, s.end(), matches, re))
   {
      if (!matches.empty())
      {
         std::cout << "Finded: " << matches[0] << std::endl;
         const std::string val = matches[2].str();
         double value = boost::lexical_cast<double>(val);
         value -= diff;
         ofs << matches[1] << "\"" << value << "\"" << std::endl;
         pos = matches[0].second;
      }
   }
   ofs.close();
}
Можно конечно и не считывать, а искать на лету.
Bash
1
2
3
4
5
6
7
8
9
10
forever@pterois:~/My_pro1/cpp_pro$ cat file.txt 
<object id="object (las2_lodbrigtower) (1)" interior="0" collisions="true" alpha="255" doublesided="true" model="5300" scale="1" dimension="0" background="" border="" foreground="" framesFaded="0" framesToFade="0" height="15" posX="111.75879" posY="4287.19629" posZ="1.77715" rotX="0" rotY="0" rotZ="0" state="hidden" text="Alpha Level" width="63" x="0" y="0"></object><object id="object (las2_lodbrigtower) (1)" interior="0" collisions="true" alpha="255" doublesided="true" model="5300" scale="1" dimension="0" background="" border="" foreground="" framesFaded="0" framesToFade="0" height="15" posX="111.75879" posY="4250.19629" posZ="1.77715" rotX="0" rotY="0" rotZ="0" state="hidden" text="Alpha Level" width="63" x="0" y="0"></object>
 
forever@pterois:~/My_pro1/cpp_pro$ ./new
Finded: posY="4287.19629"
Finded: posY="4250.19629"
 
forever@pterois:~/My_pro1/cpp_pro$ cat file_new.txt 
posY="-712.804"
posY="-749.804"
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.