Строка

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

Guest

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


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

1ive

Well-known member
12.09.2010
621
1
#2
что мешает вытянуть эту последовательность из строки и перевести в десятичную систему?
 
G

Guest

#3
Как?

Добавлено: У меня не получается написать эту прогу!!!!
 

1ive

Well-known member
12.09.2010
621
1
#4
я не сишник.
но думаю раз дали задачу по строкам - нужно почитать о этих самых строках.
найти последовательность легко.
паревести по алгоритму еще проще.

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

Rififi

#5
Дана строка содержащая текст и последовательности из 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;
}
Проверка:
http://codepad.org/ztV3gsla