a53

cod

a53
Dec 2nd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. ifstream fin("cod.in");
  5. ofstream fout("cod.out");
  6. char s[255], s1[255];
  7. int ls, nr;
  8. void reverses(char *begin, char *end)
  9. {
  10. char temp;
  11. while (begin < end)
  12. {
  13. temp = *begin;
  14. *begin++ = *end;
  15. *end-- = temp;
  16. }
  17. }
  18. void reverseWords(char *s)
  19. {
  20. char *word_begin = NULL;
  21. char *temp = s;
  22. while( *temp )
  23. {
  24. if (( word_begin == NULL ) && (*temp != ' ') && (*temp !='.'))
  25. {
  26. word_begin=temp;
  27. }
  28. if(word_begin && ((*(temp+1) == ' ') || (*(temp+1) == '\0') || (*(temp+1) == '.')))
  29. {
  30. reverses(word_begin, temp);
  31. word_begin = NULL;
  32. }
  33. temp++;
  34. }
  35. reverses(s, temp-1);
  36. }
  37. int main()
  38. {
  39. int i, j;
  40. while(fin.getline(s,255))
  41. {
  42. ls=strlen(s);
  43. for(i=0;i<ls;i++)
  44. s1[i]=s[ls-i-1];
  45. s1[ls]='\0';
  46. strcpy(s,"\0");
  47. i=0;j=0;
  48. while(i<ls)
  49. if(s1[i]=='3' && s1[i+1]=='2')
  50. {
  51. s[j]=' ';
  52. i+=2;
  53. j++;
  54. }
  55. else if(s1[i]=='4' && s1[i+1]=='6')
  56. {
  57. s[j]='.';
  58. i+=2;
  59. j++;
  60. }
  61. else if(s1[i]=='6' || s1[i]=='7' || s1[i]=='8' || s1[i]=='9')
  62. {
  63. nr=(int)(s1[i]-'0')*10+s1[i+1]-'0';
  64. s[j]=(char)(nr);
  65. i+=2;
  66. j++;
  67. }
  68. else if(s1[i]=='1')
  69. {
  70. nr=(int)(s1[i]-'0')*100+(s1[i+1]-'0')*10+s1[i+2]-'0';
  71. s[j]=(char)(nr);
  72. i+=3;
  73. j++;
  74. }
  75. s[j]='\0';
  76. reverseWords(s);
  77. fout<<s<<endl;
  78. }
  79. return 0;
  80. }
Add Comment
Please, Sign In to add comment