Ты понимаешь, как работает функция vvod? Она делает перевод из строки в число. Пробегает по символам строки и переводит их в биты. Нужно написать функцию, которая будет делать обратное преобразование, тоже побитовое.
Вот идея алгоритма. Доведи его до ума сам. Сделай отдельной функцией, передай параметры и вызови функцию для каждого числа.
Код: Выделить всё
#include <string>
#include <iostream>
int main()
{
const unsgined int n = 375;
std::string str;
unsigned int rest = n;
while (rest)
{
str = std::string( (rest & 1) ? "1" : "0") + str;
rest >>= 1;
}
if (str.empty())
{
str = "0";
}
std::cout << str;
return 0;
}
Подчёркиваю, это лишь идея алгоритма. Дабы сэкономить время, коего у меня не так много, я написал самый простой с точки зрения самого кодинга вариант, но отнюдь не самый быстрый с точки зрения его работы. Его значительно можно ускорить при желании, но это потребует большего количества кода и чуть больше времени на "подумать". Расценивай код именно как демонстрацию алгоритма, а не как готовое решение. Разберись, как он работает, и тогда сможешь написать сам даже лучше.