Hellko

Irre

Dec 12th, 2012
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.12 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h> //rand()
  3. #include<time.h> //time(NULL)
  4. #include<math.h> //abs();
  5.  
  6. #define MAX 40
  7.  
  8. int chrtonum(char x) { //возвращает цифру если символ цифра. иначе -1.
  9. if(x<59 &&x>47)
  10. return x-48;
  11. return -1;
  12. }
  13.  
  14. int ten(int k) {
  15.     return (k==0)?1:ten(k-1)*10; //возводит 10 в степень k
  16. }
  17.  
  18. int main() {
  19. srand(time(NULL));
  20. int k=0,t=0,SUM=0;
  21. int i; char a[MAX];
  22. for(i=0;i<MAX;i++) a[i]=rand()%10+42;
  23. for(i=0;i<MAX;i++) printf("%c",a[i]);
  24.  
  25.  
  26. for(i=MAX-1;i>=0;i--) //перебираем с конца
  27.     if(chrtonum(a[i])!=-1) t+=chrtonum(a[i])*ten(k++); //если текущий символ цифра то t=t+эта цифра*10^k, увеличим k на 1.
  28.     else { //если текущий символ не цифра
  29.         if(a[i]=='-') t=-t; //если текущий символ минус то t=-t.
  30.         if(abs(t)>9) //если текущее число больше 9 или меньше -9 то
  31.             SUM+=t; // к SUM прибавим t
  32.         t=0; //сделаем k и t равными нулю.
  33.         k=0;
  34.     }
  35.  
  36. printf("\nSumma: %d\n", SUM);
  37.  
  38. }
Advertisement
Add Comment
Please, Sign In to add comment