PALINDROM STRING - REŠENJE
#include <iostream>
#include<string>
using namespace std;
int main()
{
string s, s1, t;
int d, j=0;
int razlika='a'-'A'; //razlika u kodu između malih i velikih slova
char x,y;
getline(cin,s); //Učitava red teksta
d=s.length(); //dužina teksta
s1=s;
for(int i=0; i<d; i++) //prolazi redom kroz sve karaktere
{
if(s[i]==' ' || s[i]=='.' || s[i]==';' || s[i]==',' || s[i]=='?' || s[i]=='(' || s[i]==')' || s[i]=='!')continue; //Ove karaktere preskače
if(s[i]>='A' && s[i]<='Z') //Ako su velika slova
{
y=s[i]+razlika; //pretvara u kod za mala slova
s1[j++]=y; //pamti slovo u niz s1
}
else //Ako su velika slova
{
x=s[i];
s1[j++]=x; //pamti slovo u niz s1
}
}
bool palindrom=true;
cout<<endl;
for(int i=0; i<j/2; i++)
{
if(s1[i]!=s1[j-1-i]) //poredi tekuće slovo i odgovarajuće simetrično slovo, i ako su različita nije palindrom
{
palindrom=false;
}
}
if(palindrom && j>0)
{
cout<<"da"<<endl;
}
else
{
cout<<"ne"<<endl;
}
return 0;
}
#include<string>
using namespace std;
int main()
{
string s, s1, t;
int d, j=0;
int razlika='a'-'A'; //razlika u kodu između malih i velikih slova
char x,y;
getline(cin,s); //Učitava red teksta
d=s.length(); //dužina teksta
s1=s;
for(int i=0; i<d; i++) //prolazi redom kroz sve karaktere
{
if(s[i]==' ' || s[i]=='.' || s[i]==';' || s[i]==',' || s[i]=='?' || s[i]=='(' || s[i]==')' || s[i]=='!')continue; //Ove karaktere preskače
if(s[i]>='A' && s[i]<='Z') //Ako su velika slova
{
y=s[i]+razlika; //pretvara u kod za mala slova
s1[j++]=y; //pamti slovo u niz s1
}
else //Ako su velika slova
{
x=s[i];
s1[j++]=x; //pamti slovo u niz s1
}
}
bool palindrom=true;
cout<<endl;
for(int i=0; i<j/2; i++)
{
if(s1[i]!=s1[j-1-i]) //poredi tekuće slovo i odgovarajuće simetrično slovo, i ako su različita nije palindrom
{
palindrom=false;
}
}
if(palindrom && j>0)
{
cout<<"da"<<endl;
}
else
{
cout<<"ne"<<endl;
}
return 0;
}