Строка

Тема в разделе "C/C++/C#", создана пользователем -, 27 дек 2010.

  1. Гость

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


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

    1ive Well-Known Member
    Web Team

    Регистрация:
    12 сен 2010
    Сообщения:
    694
    Симпатии:
    0
    что мешает вытянуть эту последовательность из строки и перевести в десятичную систему?
     
  3. Гость

    Как?

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

    1ive Well-Known Member
    Web Team

    Регистрация:
    12 сен 2010
    Сообщения:
    694
    Симпатии:
    0
    я не сишник.
    но думаю раз дали задачу по строкам - нужно почитать о этих самых строках.
    найти последовательность легко.
    паревести по алгоритму еще проще.

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

    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;
    }
    Проверка:
    http://codepad.org/ztV3gsla
     
Загрузка...

Поделиться этой страницей