Open AniSkyWorker opened 8 years ago
k = 0.3
//Функция переводит строку в целочисленное число
int StrToInt(const string &str, bool &wasError)
{
int result = 0;
for (unsigned i = 0; i < str.length(); ++i)
{
int digit = CharToDigit(str[i]);
if (result > (INT_MAX - digit) / 10)
{
wasError = true;
return 0;
}
result = result * 10 + digit;
}
return result;
}
//Ставит указанный массив задом-наперед
void ReverseString(string &str)
{
char tmpCh = '0';
for (unsigned i = 0; i < (unsigned)(str.length() / 2); ++i)
{
tmpCh = str[i];
str[i] = str[str.length() - i - 1];
str[str.length() - i - 1] = tmpCh;
}
}
//Перевод числа в строку
string IntToStr(int number)
{
string result;
while (number != 0)
{
result += DigitToChar(number % 10);
number /= 10;
}
ReverseString(result);
return result;
}
Очередной велосипед, не поддерживающий отрицательные числа
radix.exe 10 10 0
//Функция переводит строку из системы счисления, задаваемой параметром radix, в десятичную
int ConvertToDec(const string &str, unsigned radix, bool &isNegative, bool &wasError)
k = 0,5