Advertisement
Guest User

Untitled

a guest
Jan 19th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.07 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int wordsNum(char* str)
  5. {
  6.     int num = 0;
  7.     while(*str)
  8.     {
  9.         while(*str == ' ' && *str)str++;   
  10.         if(*str)num++;
  11.         while(*str != ' ' && *str)str++;
  12.     }
  13.     return num;
  14. }
  15.  
  16. int pow(int numb,int n)
  17. {
  18.     int res = 1;
  19.     while(n--)
  20.         res *= numb;
  21.     return res;
  22. }
  23.  
  24. void siTOc(const char* str,short int* ms)
  25. {
  26.     int i = 0,tmp = 0;
  27.     while(*str)
  28.     {
  29.         while(*str == ' ' && *str)str++;
  30.         while(*(str + tmp) != ' ' && *(str + tmp) )tmp++;
  31.  
  32.         for(int k = 0; k < tmp; k++ )
  33.         {
  34.             ms[i] += pow(10,tmp - k - 1) * (short int)(*str - '0');
  35.             str++;
  36.         }
  37.         i++;
  38.         tmp = 0;
  39.     }
  40.  
  41. }
  42.  
  43. int main()
  44. {
  45.     char *str;
  46.     short int *ms;
  47.     int size;
  48.  
  49.     str = (char*)malloc(100 * sizeof(char));
  50.     if(!str)return 0;
  51.     gets(str);
  52.     size = wordsNum(str);
  53.  
  54.     ms = (short int*)malloc(size * sizeof(short int));
  55.     if(!ms)
  56.     {
  57.         free(str);
  58.         return 0;
  59.     }
  60.     for(int i = 0 ; i < size; i++)
  61.     {
  62.         ms[i] = 0;
  63.     }
  64.  
  65.     siTOc(str,ms);
  66.  
  67.     printf("\n");
  68.     for(int i = 0 ; i < size; i++)
  69.         printf("%d  ",ms[i]);
  70.  
  71.  
  72.    
  73.     free(str);
  74.     system("pause");
  75.     return 1;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement