• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Строка

  • Автор темы Guest
  • Дата начала
G

Guest

Пожалуйста помогите написать задачу!!!!!!!!!!!!!Завтра СРОЧНО нужно сдать зачёт!!!!!!Помогите!!!!!!!!!!


Дана строка содержащая текст и последовательности из 0 и 1
(двоичные числа). Записать строку заменив каждую из
последовательностей ее значением в десятичной системе
счисления.
 
1

1ive

что мешает вытянуть эту последовательность из строки и перевести в десятичную систему?
 
1

1ive

я не сишник.
но думаю раз дали задачу по строкам - нужно почитать о этих самых строках.
найти последовательность легко.
паревести по алгоритму еще проще.

свой лимит готовых решений на сегодня я исчерпал в предыдущей теме.
 
R

Rififi

Дана строка содержащая текст и последовательности из 0 и 1
(двоичные числа). Записать строку заменив каждую из
последовательностей ее значением в десятичной системе
счисления.


C++:
#include <string>
#include <locale>
#include <bitset>

#include <iostream>

void find(const std::string& s)
{
std::string::size_type curr = 0, next;
for (; (next = s.find_first_of("01", curr)) != std::string::npos; )
{
curr = s.find_first_not_of("01", next);
const std::bitset<64> b(s.substr(next, curr-next));
std::cout << b.to_ulong() << std::endl;
}
}

int main()
{
setlocale(LC_ALL, "");

const std::string s = "abc1100def00112110zzz011pp1";
find(s);

return 0;
}

Проверка:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!