Advertisement
teopalmer

Colloquium_4_task_3

May 20th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.72 KB | None | 0 0
  1. int adder(const string_t s)
  2. {
  3.     int i = 0;
  4.     int len = 0;
  5.     int number = 0;
  6.     int rank = 1;
  7.     int n = 0;
  8.     int sum = 0;
  9.  
  10.     while (s[i])
  11.     {
  12.         i++;
  13.         len++;
  14.     }
  15.  
  16.     for (i = len-1; i >= 0; i--)
  17.     {
  18.         if (s[i] != '+' && s[i] != '-')
  19.         {
  20.             printf("\n*%d\n", (int)(s[i] - '0') * rank);
  21.             number += (int)(s[i] - '0') * rank;
  22.             rank *= 10;
  23.         }
  24.  
  25.         else
  26.         {
  27.             if (s[i] == '+')
  28.                 sum += number;
  29.             else
  30.                 sum -= number;
  31.             rank = 1;
  32.             number = 0;
  33.         }
  34.     }
  35.  
  36.     if (s[len-1] != '+' && s[len-1] != '-')
  37.         sum += number;
  38.  
  39.     return sum;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement