Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- bool palindrom(string slowo)
- {
- int d = slowo.size();
- int poczatek = 0;
- int koniec = d - 1;
- for(int i=0;i<d;i++){
- if(slowo[i]<='Z') slowo[i] += 32;
- }
- while (poczatek < koniec) {
- if (slowo[poczatek] != slowo[koniec]) {
- return false;
- }
- poczatek++;
- koniec--;
- }
- return true;
- }
- int n, spacje = 0, liczby = 0, slowa = 0, zdania = 0, palindromy = 0,zawar=0;
- bool czy_liczba = false;
- bool czy_slowo = false;
- string artykul, wyraz = "";
- int main()
- {
- ios_base::sync_with_stdio(0);
- cin >> n;
- int operacje[n];
- for (int i = 0; i < n; i++) {
- cin >> operacje[i];
- }
- cin.ignore();
- getline(cin, artykul);
- int d = artykul.size();
- for (int i = 0; i < d; i++) {
- if (artykul[i] == ' ') {
- spacje++;
- }
- if (artykul[i] >= '0' && artykul[i] <= '9') {
- if (!czy_liczba)
- czy_liczba = true;
- }
- else {
- if (czy_liczba) {
- czy_liczba = false;
- liczby++;
- }
- }
- if ((artykul[i] >= 'A' && artykul[i] <= 'Z') || (artykul[i] >= 'a' && artykul[i] <= 'z')) {
- wyraz = wyraz + artykul[i];
- if (!czy_slowo)
- czy_slowo = true;
- }
- else {
- if (czy_slowo) {
- czy_slowo = false;
- slowa++;
- zawar++;
- if (palindrom(wyraz)) {
- palindromy++;
- }
- wyraz = "";
- }
- }
- if (zawar != 0) {
- if (artykul[i] == '.'){
- zdania++;
- zawar = 0;
- }
- }
- }
- if (czy_liczba) {
- czy_liczba = false;
- liczby++;
- }
- if (czy_slowo) {
- czy_slowo = false;
- slowa++;
- if (palindrom(wyraz)) {
- palindromy++;
- }
- wyraz = "";
- }
- for(int i=0;i<n;i++){
- if(operacje[i]==1) cout << spacje;
- if(operacje[i]==2) cout << liczby;
- if(operacje[i]==3) cout << slowa;
- if(operacje[i]==4) cout << zdania;
- if(operacje[i]==5) cout << palindromy;
- if(i!=n-1) cout << " ";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement