Как в с++ сравнивать значения строки [требует правки]

321
15 октября 2017, 23:37

Надо найти в коде все числа из 10-ной СИ (в тесте ввод только 10-ных) и заменить их на числа из 2-ной СИ. При чем десятичные числа идут вперемешку с буквами и тд

Answer 1

Ну вот, какая-то жесть получилась... https://ideone.com/hJWD93

#include <iostream>
#include <string>
#include <sstream>
#include <bitset>
#include <regex>
using namespace std;
int main()
{
  string s;
  cin >> s;
  stringstream res;
  for (const char *p = s.c_str(); *p; )
  {
    int x, len;
    if (sscanf(p, "%d%n", &x, &len) == 1)
    {
      res << regex_replace(bitset<((sizeof x)<<3)>(x).to_string(), regex("^0+"), "");
      p += len;
    }
    else
    {
      res << *(p++);
    }
  }
  cout << res.str() << endl;
  return 0;
}
READ ALSO
C++ задачка на строки [требует правки]

C++ задачка на строки [требует правки]

Пароль называется криптостойким, если он включает в себя и строчные латинские буквы, и заглавные латинские буквы, и цифры, при этом его длина...

432
&ldquo;Трехмерный&rdquo; map в C++

“Трехмерный” map в C++

Здравствуйте! Возникла необходимость создать "трёхмерный" массив с двумя целочисленными и одним вещественным индексомЯ решил воспользоваться...

270
Не отлаживаает программу в QT

Не отлаживаает программу в QT

Когда пытаюсь отладить программу возникает следующая проблема,что делать?

198