fork download
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <cstdlib>
  5. #include <sstream>
  6. #include <cstring>
  7.  
  8. using namespace std;
  9.  
  10. int t,liczba,suma,l_cyfr,liczba1,liczba2,zmienna_palindrom,ilosc_dod;
  11.  
  12. std::ostringstream int_to_string; //INT TO STRING
  13.  
  14.  
  15.  
  16. int palindrom(int s)
  17. {
  18. int ilosc_cyfr=0,number=0;
  19. string c_liczbowy_1="", c_liczbowy_3="";
  20. char c_liczbowy_2[50];
  21.  
  22. std::ostringstream int_to_string_2;
  23.  
  24.  
  25. c_liczbowy_1.clear();
  26. c_liczbowy_3.clear();
  27.  
  28. int_to_string_2<<s;
  29. c_liczbowy_1=int_to_string_2.str();
  30. ilosc_cyfr=c_liczbowy_1.size();
  31.  
  32. for(int i=0;i<ilosc_cyfr;i++)
  33. {
  34. c_liczbowy_2[i]=c_liczbowy_1[ilosc_cyfr-i-1];
  35. }
  36.  
  37. c_liczbowy_3 = string(c_liczbowy_2);
  38. std::istringstream iss3(c_liczbowy_3);
  39. iss3 >> number;
  40.  
  41.  
  42. if(number==s)
  43. return 1;
  44. else
  45. return 0;
  46. }
  47.  
  48.  
  49. int main()
  50. {
  51. string znaki="0", znaki_odw_2="0";
  52. char znaki_odw[50];
  53.  
  54.  
  55. cin>>t;
  56.  
  57. for(int i=1; i<=t; i++)
  58. {
  59.  
  60. liczba1=0;
  61. liczba2=0;
  62. ilosc_dod=0;
  63. zmienna_palindrom=0;
  64. suma=0;
  65. liczba=0;
  66. l_cyfr=0;
  67.  
  68. cin>>liczba;
  69.  
  70. //ZMIANA INT TO STRING
  71.  
  72. int_to_string<<liczba;
  73. znaki=int_to_string.str();
  74.  
  75. //ILOSC ZNAKOW W STRING
  76. l_cyfr= znaki.length();
  77. cout<<"l_cyfr: "<<l_cyfr<<endl;
  78.  
  79. //SPRAWDZANIE CZY DANA LICZBA JEST PALINDROMEM
  80. if(liczba==0 || liczba==1 || liczba==2 || liczba==3 || liczba==4 || liczba==5 || liczba==6 || liczba==7 || liczba==8 || liczba==9 || liczba==11 || liczba==22 || liczba==33 || liczba==44 ||
  81. liczba==55 || liczba==66 || liczba==77 )
  82. cout<<liczba<<" "<<"0"<<endl;
  83. else
  84. {
  85.  
  86. // while(zmienna_palindrom==0)
  87. //{
  88. if(ilosc_dod != 0)
  89. {
  90. liczba=suma;
  91. //ZMIANA INT NA STRING
  92. int_to_string<<liczba;
  93. znaki=int_to_string.str();
  94. }
  95.  
  96. //ODWRACAMY LICZBE
  97. for(int i=0;i<l_cyfr;i++)
  98. {
  99. znaki_odw[i]=znaki[l_cyfr-i-1];
  100. }
  101.  
  102. std::istringstream iss(znaki); //STRING TO INT
  103. iss >> liczba1;
  104.  
  105. string znaki_odw_2 = string(znaki_odw);
  106. std::istringstream iss2(znaki_odw_2); //STRING TO INT
  107. iss2 >> liczba2;
  108.  
  109. cout<<"liczba1: "<<liczba1<<endl;
  110. cout<<"liczba2: "<<liczba2<<endl;
  111.  
  112. //SUMOWANIE
  113. suma=liczba1+liczba2;
  114. cout<<"Suma: "<<suma<<endl;
  115. ilosc_dod++;
  116. zmienna_palindrom=palindrom(suma);
  117. cout<<"zmienna_palindrom: "<<zmienna_palindrom<<endl;
  118.  
  119. }
  120. cout<< suma <<" "<<ilosc_dod<<endl;
  121.  
  122. // }
  123.  
  124.  
  125.  
  126. }
  127. return 0;
  128. }
  129.  
  130.  
Success #stdin #stdout 0s 2828KB
stdin
Standard input is empty
stdout
Standard output is empty