Closed alexey-malov closed 5 years ago
[x] Программа не принимает число, равное INT_MIN
[x] Добавить в тесты соотв. проверку
[x] Программа некорректно переводит число 0 (из любой в любую)
[x] Добавить в тесты соотв. проверку
std::string IntToString(int n, int radix, bool & wasError)
{
std::string numberStr = "";
int number = n;
int digit;
std::string ch;
bool isNegative = false;
if (number < 0)
{
isNegative = true;
number *= -1;
}
while(number != 0)
{
digit = number % radix;
if (digit > 9)
{
ch = 'A' + digit - 10;
}
else
{
ch = '0' + digit;
}
numberStr = ch + numberStr;
number = (number - digit) / radix;
}
if (isNegative)
{
numberStr = '-' + numberStr;
}
return numberStr;
}
[x] Переменную number можно не вводить, а использовать n
[x] Переменные лучше объявлять как можно ближе к месту их первого использования, чем уже у них область видимости, тем лучше.
std::string IntToString(unsigned int number, unsigned int radix, bool & isNegative, bool & wasError)