fork download
  1. #include <iostream>
  2. #include <sstream>
  3. using namespace std;
  4. int StringToInt(string text)
  5. {
  6. std::stringstream bufor(text);
  7. int i;
  8. bufor>>i;
  9. return i;
  10. }
  11. string IntToString(int text)
  12. {
  13. std::stringstream bufor;
  14. bufor<<text;
  15. return bufor.str();
  16.  
  17. }
  18. string ReverseString(string text)
  19. {
  20. string sText;
  21. for(int i = text.length()-1;i >=0;i--)
  22. sText += text[i];
  23. return sText;
  24. }
  25. class time
  26. {
  27. private:
  28. int hours;
  29. int minutes;
  30.  
  31. string sTime;
  32. string sHours;
  33. string sMinutes;
  34.  
  35. public:
  36. string GetStringHours()
  37. {
  38. return sHours;
  39. }
  40. string GetStringMinutes()
  41. {
  42. return sMinutes;
  43. }
  44. int GetHours()
  45. {
  46. return hours;
  47. }
  48. int GetMinutes()
  49. {
  50. return minutes;
  51. }
  52. void SetTime(std::string stringTime)
  53. {
  54. hours = StringToInt(stringTime.substr(0,2));
  55. minutes = StringToInt(stringTime.substr(3,2));
  56. SetTime();
  57. }
  58. string GetTime()
  59. {
  60. return sTime;
  61. }
  62. void AddMinutes(int IntMinutes)
  63. {
  64. minutes += IntMinutes;
  65. SetTime();
  66. }
  67. void AddHours(int IntHours)
  68. {
  69. hours += IntHours;
  70. SetTime();
  71. }
  72.  
  73. private:
  74. void CheckCompatibility()
  75. {
  76. int restOfMinutes = 0;
  77. int restOfHours = 0;
  78.  
  79. if(minutes >= 60)
  80. {
  81. restOfMinutes = minutes % 60;
  82. restOfHours = minutes / 60;
  83. minutes = restOfMinutes;
  84. hours += restOfHours;
  85. CheckCompatibility();
  86. }
  87. if(hours > 23)
  88. hours %= 24;
  89. }
  90. void SetTime()
  91. {
  92. CheckCompatibility();
  93. sTime.clear();
  94. sHours = IntToString(hours);
  95. sMinutes = IntToString(minutes);
  96.  
  97. if(sHours.length() == 1) sHours = '0' + sHours;
  98. if(sMinutes.length() == 1) sMinutes = '0' + sMinutes;
  99.  
  100. sTime = sHours;
  101. sTime += ':';
  102. sTime += sMinutes;
  103. }
  104. };
  105. bool IsPalindrom(std::string palindrom)
  106. {
  107. for(std::size_t i = 0; i < palindrom.length() ; i++)
  108. if( palindrom[i] != palindrom[palindrom.length()-1-i])
  109. return false;
  110. return true;
  111. };
  112. bool CheckIfIsPalindrom(time *czas)
  113. {
  114. string palindrom;
  115. if(czas->GetHours() != 0)
  116. {
  117. palindrom += czas->GetStringHours();
  118. palindrom += czas->GetStringMinutes();
  119. return IsPalindrom(palindrom);
  120. }
  121. else
  122. {
  123. palindrom += czas->GetStringMinutes();
  124. if(czas->GetMinutes() < 10)
  125. return true;
  126. else
  127. return IsPalindrom(palindrom);
  128. }
  129.  
  130. return false;
  131. };
  132. int main()
  133. {
  134. int n;
  135. cin>>n;
  136. string godzina;
  137. time *czas = new time[n];
  138. for( int i = 0; i < n ; i++ )
  139. {
  140. bool Palindrom = false;
  141.  
  142. cin>>godzina;
  143. czas[i].SetTime(godzina);
  144. czas[i].AddMinutes(1);
  145.  
  146. while(!CheckIfIsPalindrom(&czas[i]))
  147. czas[i].AddMinutes(1);
  148. cout<<czas[i].GetTime()<<endl;
  149.  
  150. };
  151. delete []czas;
  152. };
  153.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:112:31: error: ‘czas’ was not declared in this scope
prog.cpp:113:1: error: expected ‘,’ or ‘;’ before ‘{’ token
stdout
Standard output is empty