Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h> //rand()
- #include<time.h> //time(NULL)
- #include<math.h> //abs();
- #define MAX 40
- int chrtonum(char x) { //возвращает цифру если символ цифра. иначе -1.
- if(x<59 &&x>47)
- return x-48;
- return -1;
- }
- int ten(int k) {
- return (k==0)?1:ten(k-1)*10; //возводит 10 в степень k
- }
- int main() {
- srand(time(NULL));
- int k=0,t=0,SUM=0;
- int i; char a[MAX];
- for(i=0;i<MAX;i++) a[i]=rand()%10+42;
- for(i=0;i<MAX;i++) printf("%c",a[i]);
- for(i=MAX-1;i>=0;i--) //перебираем с конца
- if(chrtonum(a[i])!=-1) t+=chrtonum(a[i])*ten(k++); //если текущий символ цифра то t=t+эта цифра*10^k, увеличим k на 1.
- else { //если текущий символ не цифра
- if(a[i]=='-') t=-t; //если текущий символ минус то t=-t.
- if(abs(t)>9) //если текущее число больше 9 или меньше -9 то
- SUM+=t; // к SUM прибавим t
- t=0; //сделаем k и t равными нулю.
- k=0;
- }
- printf("\nSumma: %d\n", SUM);
- }
Advertisement
Add Comment
Please, Sign In to add comment