Тема: Отримання субрядків із рядка
Потрібно отримати й обробити субрядок заданої довжини.
Роблю ось так:
std::string fix_text { "" };
for (unsigned long i = 0; i < bits.size(); i += 3) {
std::string triple = bits.substr(i, i + 3);
std::cout << triple << std::endl;
if (std::count(triple.begin(), triple.end(), '1') > std::count(triple.begin(), triple.end(), '0')) {
fix_text.push_back('1');
} else {
fix_text.push_back('0');
}
}
Але в змінній triple чомусь замість лише трійки символів ось таке:
000
111111
111000111
000111000000
111000000000000
000000000000111111
000000000111111000000
000000111111000000111000
000111111000000111000111000
111111000000111000111000111111
111000000111000111000111111111111
000000111000111000111111111111000000
000111000111000111111111111000000111
111000111000111111111111000000111
000111000111111111111000000111
111000111111111111000000111
000111111111111000000111
111111111111000000111
111111111000000111
111111000000111
111000000111
000000111
000111
111
Чому значення накопичуються, я ж кожного разу оголошую наново цю змінну?