Сайт SPYRYTUS_LTD© SPYRYTUS - учеба, работа и развлечения title image
Новости :
    Software News
    Hardware News
Обзоры :
    Главная
    Алгоритмы
    Готовые программы
    Игры
Разработка :
    Свои разработки
    Продажа и заказ ПО
Развлечения :
    Отдохни !

Алгоритм преобразования строки в целое число

      Для того, чтобы преобразовать строку в чило, нужно помнить, что строка это массив символов, который заканчивается знаком "/0". По этому, нужно запустить цикл от 0 до длины строки. Для определения длины строки воспользуемся готовой функцией из библиотеки string.h, которая называется strlen. Затем записать наш цикл сложив все выше сказанное :

for (int i=0;i<strlen(Mas);i++)

      Внутри цикла нужно с нашей строки брать по одному символу Mas[i], и вычитать из полученного символа в шестнадцатиричном коде число 0x30. В таком случае получается : если элемент массива, было число 0x31 или в десятичной 49, что соответствует в реальности цифре "1", то при вычитании числа 0x30 из 0x31 или 48 из 49, мы получим чистую цифру 1.
      Затем, чтобы получить исходное число, нужно наше преобразованное число, в цикле сложить из предыдущим и умножить на 10,

INT = (INT+(Mas[i]-0x30))*10;

после выхода из цикла, и выводе результата, чиcло нужно разделить на 10, т.к. при последнем круге цикла, оно было еще раз умноженно на 10.

return (INT/10);

      Ниже приведенный код написан на язике "С++". Переделать его на другой язык, я думаю сложности не представит, т.к. код очень простой и работает без ошибок. Все преобразование заключается в функции которая называется StrToInt.

int StrToInt(char *Mas)
{
  int INT=0;
  for (int i=0;i<strlen(Mas);i++) INT = (INT+(Mas[i]-0x30))*10;
  return (INT/10);
}

      Готовый вариант программы сможете найти, щелкнув в навигационной панели ссылку Готовые программы.

 
  Перейти вверх страници ВВЕРХ Перейти вверх страници
Сайт хостинга Рейтинг посещаемости Поисковая машина Интернет-магазин CD-дисков
Хостинг от uCoz