Advertisement
193030

I. C triple base - nedovurshena

May 9th, 2020
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.19 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <string>
  4. #include <bits/stdc++.h>
  5.  
  6.  
  7.  
  8. using namespace std;
  9.  
  10. //char arr[] = "1+–0–5";
  11. //char arr[] = "++–0–+";
  12. //char arr[] = "–+–0–+";
  13. string inputString = "++0--";
  14.  
  15. int returnNum(string input)
  16. {
  17.     int stringLength = input.length();
  18.  
  19.     // declaring character array
  20.     char arr[stringLength + 1];
  21.     strcpy(arr, input.c_str());
  22.  
  23.     int length = sizeof(arr) / sizeof(arr[0]);
  24.     int prevPower= 0;
  25.     int sum = 0;
  26.     for(int i =length-2; i>=0;i--)
  27.     {
  28.         int currentPosReverse = (length-2)-i;
  29.         int currentNum = 3*prevPower;
  30.  
  31.  
  32.         if(prevPower ==0)
  33.         {
  34.             currentNum =1;
  35.  
  36.         }
  37.  
  38.         prevPower = currentNum;
  39.         if(arr[i] == '–')
  40.         {
  41.            // cout << "Vliza  tuK " << i <<"  " << arr[i] << endl;
  42.             currentNum = currentNum*(-1);
  43.         }
  44.         if(arr[i] =='0')
  45.         {
  46.             currentNum = 0;
  47.  
  48.         }
  49.  
  50.         sum+=currentNum;
  51.         //cout << currentPosReverse << arr[i] << endl;
  52.     }
  53.     cout << "The sum is: " << sum << endl;
  54.     return sum;
  55.  
  56.  
  57.  
  58. }
  59.  
  60.  
  61. int main()
  62. {
  63.  
  64.     int res = returnNum(inputString);
  65.     cout << res << endl;
  66.  
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement