Răspuns :
Răspuns:
#include <iostream>
#include <string>
using namespace std;
bool palindromF(string s)
{
bool palindrom = true;
for(int i = 0;i < ((s.length() / 2) + 1);i++)
{
if(s[i] != s[s.length() - 1 - i])
palindrom = false;
}
return palindrom;
}
int main()
{
cout<<"Introdu textul: ";
//Acesta este ceva pentru a citi o linie! Poate intr-un program normal functioneaza si fara atatea doar facand cin>>s
string readLine = "";
string s = "";
cin >> readLine;
s = readLine;
getline (cin, readLine);
s += readLine;
/////////////////////////////////////////////////////////////////////////////////////////////
if(s.length()>200)
{
cout<<"Valoarea lungii textului tastat este mai mare ca si valoarea 200!";
return 0;
}
cout<< "Textul introdus este: " + s <<endl;
int nrPalindrom = 0;
string* palindrom = new string[50];
string word = "";
int j = 0;
int countAllWord = 0;
for (int i = 0; i < s.length(); i++) {
if(s[i] != ' ')
word+=s[i];
else
{
if(i != 0 && s[i-1] != ' ')
{
if(palindromF(word) == 1)
{
palindrom[j] = word;
j++;
}
word = "";
countAllWord++;
}
}
if(i == s.length() - 1)
if(i != 0 && s[i-1] != ' ')
{
if(palindromF(word) == 1)
palindrom[j] = word;
countAllWord++;
}
}
cout<<"Textul are " + to_string(countAllWord) + " cuvinte."<<endl;
cout<<"Textul are " + to_string(j) + " cuvinte palindrom."<<endl;
if(j == 0)
cout<<"Nu exista numere palindrom.";
for(int i = 0; i < j; i++)
{
cout<<palindrom[i];
if(i<j-1)
cout<<", ";
}
return 0;
}
Explicație:
Avem grija sa tratam fiecare cuvant din text, validam daca corespunde cerintelor ce se dau in ipoteza. Afisam numarul de cuvinte al textului, afisam numarul de cuvinte palindrom si apoi afisam si cuvintele palindrom. Toate literele la comparatie pentru palindrom sa fie de acelasi tip cu acelasi cod ASCII nu poti compara A cu a ca in cuvantul Ana.
Ex:
ana are mere - 1 cuv palindrom,
Ana are mere - 0 cuv palindrom,
AnA are mere - 1 cuv palindrom;
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Ne bucurăm să vă revedem și vă invităm să ne adăugați în lista de favorite!