Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. bool palindrom(string slowo)
  4. {
  5. int d = slowo.size();
  6. int poczatek = 0;
  7. int koniec = d - 1;
  8. for(int i=0;i<d;i++){
  9. if(slowo[i]<='Z') slowo[i] += 32;
  10. }
  11. while (poczatek < koniec) {
  12. if (slowo[poczatek] != slowo[koniec]) {
  13. return false;
  14. }
  15. poczatek++;
  16. koniec--;
  17. }
  18. return true;
  19. }
  20. int n, spacje = 0, liczby = 0, slowa = 0, zdania = 0, palindromy = 0,zawar=0;
  21. bool czy_liczba = false;
  22. bool czy_slowo = false;
  23. string artykul, wyraz = "";
  24. int main()
  25. {
  26. ios_base::sync_with_stdio(0);
  27. cin >> n;
  28. int operacje[n];
  29.  
  30. for (int i = 0; i < n; i++) {
  31. cin >> operacje[i];
  32. }
  33. cin.ignore();
  34. getline(cin, artykul);
  35. int d = artykul.size();
  36. for (int i = 0; i < d; i++) {
  37. if (artykul[i] == ' ') {
  38. spacje++;
  39. }
  40.  
  41. if (artykul[i] >= '0' && artykul[i] <= '9') {
  42. if (!czy_liczba)
  43. czy_liczba = true;
  44. }
  45. else {
  46. if (czy_liczba) {
  47. czy_liczba = false;
  48. liczby++;
  49. }
  50. }
  51. if ((artykul[i] >= 'A' && artykul[i] <= 'Z') || (artykul[i] >= 'a' && artykul[i] <= 'z')) {
  52. wyraz = wyraz + artykul[i];
  53. if (!czy_slowo)
  54. czy_slowo = true;
  55. }
  56. else {
  57. if (czy_slowo) {
  58. czy_slowo = false;
  59. slowa++;
  60. zawar++;
  61. if (palindrom(wyraz)) {
  62. palindromy++;
  63. }
  64. wyraz = "";
  65. }
  66. }
  67. if (zawar != 0) {
  68. if (artykul[i] == '.'){
  69. zdania++;
  70. zawar = 0;
  71. }
  72. }
  73. }
  74.  
  75. if (czy_liczba) {
  76. czy_liczba = false;
  77. liczby++;
  78. }
  79. if (czy_slowo) {
  80. czy_slowo = false;
  81. slowa++;
  82. if (palindrom(wyraz)) {
  83. palindromy++;
  84. }
  85. wyraz = "";
  86. }
  87. for(int i=0;i<n;i++){
  88. if(operacje[i]==1) cout << spacje;
  89. if(operacje[i]==2) cout << liczby;
  90. if(operacje[i]==3) cout << slowa;
  91. if(operacje[i]==4) cout << zdania;
  92. if(operacje[i]==5) cout << palindromy;
  93. if(i!=n-1) cout << " ";
  94. }
  95. return 0;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement