Guest User

Untitled

a guest
Jul 28th, 2020
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.75 KB | None | 0 0
  1.  
  2. int StringToNumber(const char* str)
  3. {
  4.     int size = 0;
  5.     while (str[size] != '\0')
  6.     {
  7.         size++; // размер массива
  8.     }
  9.  
  10.     char* reverse_str = new char[size]();
  11.     for (int i = 0; i < size; i++)
  12.     {
  13.         reverse_str[i] = str[(size - 1) - i];
  14.     }
  15.     reverse_str[size] = '\0';
  16.  
  17.     int summ = 0;
  18.     int save_num = 0;
  19.     int digit_num = 0;
  20.     for (int i = 0; i < size; i++)
  21.     {
  22.         if (reverse_str[i] > '0' && reverse_str[i] < '9' || reverse_str[i] == '0' || reverse_str[i] == '9')
  23.         {
  24.  
  25.             if (digit_num == 0)
  26.             {
  27.                 save_num = (int)reverse_str[i] - 48;
  28.                 digit_num++;
  29.             }
  30.             else
  31.             {
  32.                 save_num = digit_num * ((int)reverse_str[i] - 48);
  33.             }
  34.             digit_num *= 10;
  35.             summ = summ + save_num;
  36.         }
  37.     }
  38.     return summ;
  39.  
  40.     delete[] reverse_str;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment