Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

%3Cp%3ETHIS%20IS%26nbsp%3BA%26nbsp%3BPROGRAM%26nbsp%3BTO%26nbsp%3BCHECK%26nbsp%3

ID: 3548599 • Letter: #

Question

%3Cp%3ETHIS%20IS%26nbsp%3BA%26nbsp%3BPROGRAM%26nbsp%3BTO%26nbsp%3BCHECK%26nbsp%3BIF%26nbsp%3BA%26nbsp%3BSTRING%26nbsp%3BIS%26nbsp%3BPALINDROME.%26nbsp%3Bc%2B%2B%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3ETHIS%26nbsp%3BIS%26nbsp%3BWHAT%26nbsp%3BI%26nbsp%3BNEED%26nbsp%3BTO%26nbsp%3BDO%3A(My%26nbsp%3Bnotes)%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3Ein%26nbsp%3Bmain%3A%26nbsp%3B%3Cbr%3E%3C%2Fp%3E%3Cp%3Euser%26nbsp%3Bwill%26nbsp%3Binput%26nbsp%3Bc-string%26nbsp%3Binto%26nbsp%3Bchar%26nbsp%3Barray%26nbsp%3Band%26nbsp%3Bsend%26nbsp%3Bto%26nbsp%3Buser-defined%26nbsp%3Bfunctions%3C%2Fp%3E%3Cp%3Ein%26nbsp%3Buser%26nbsp%3Bdefined%26nbsp%3Bfunctions%3A%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3Ethe%26nbsp%3Bc-string%26nbsp%3Bwill%26nbsp%3Bbe%26nbsp%3Bsent%26nbsp%3Bto%26nbsp%3Ba%26nbsp%3Bfunction%3A%26nbsp%3B-%26nbsp%3Bremove%26nbsp%3Ball%26nbsp%3Bspaces%26nbsp%3Band%26nbsp%3Bpunctuation%26nbsp%3Bmarks%3C%2Fp%3E%3Cp%3E-%26nbsp%3Bchange%26nbsp%3Bany%26nbsp%3Buppercase%26nbsp%3Bto%26nbsp%3Blowercase%3C%2Fp%3E%3Cp%3E-%26nbsp%3Buse%26nbsp%3Bstring%26nbsp%3Btokens%26nbsp%3Bto%26nbsp%3Beliminate%26nbsp%3Bspaces%26nbsp%3Band%26nbsp%3Bpunctuation%26nbsp%3Bmarks.%3C%2Fp%3E%3Cp%3E-%26nbsp%3Binclude%26nbsp%3B%2F0%26nbsp%3BNULL%26nbsp%3Bas%26nbsp%3Bconcatenate%26nbsp%3Bthe%26nbsp%3Btokens%26nbsp%3Binto%26nbsp%3Ba%26nbsp%3Bc-string%26nbsp%3Bthen%26nbsp%3Bcopy%26nbsp%3Bback%26nbsp%3Bto%26nbsp%3Bthe%26nbsp%3Boriginal%26nbsp%3Bc-string%26nbsp%3Bfor%26nbsp%3Bthe%26nbsp%3Bpass%26nbsp%3Bby%26nbsp%3Breference.%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3EBack%26nbsp%3Bin%26nbsp%3Bmain%3A%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3Esend%26nbsp%3Bc-string%26nbsp%3Bto%26nbsp%3Ba%26nbsp%3Bfunction%26nbsp%3Bthat%26nbsp%3Bwill%26nbsp%3Bsee%26nbsp%3Bif%26nbsp%3Bit%26nbsp%3Bis%26nbsp%3Breally%26nbsp%3Ba%26nbsp%3Bpalindrome%3A%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E-need%26nbsp%3Bto%26nbsp%3Bcreate%26nbsp%3Banother%26nbsp%3Bc-string(contains%26nbsp%3Bthe%26nbsp%3B%2F0)%26nbsp%3Bthat%26nbsp%3Bis%26nbsp%3Bfilled%26nbsp%3Bup%26nbsp%3Bas%26nbsp%3Bthe%26nbsp%3Breverse%26nbsp%3Bof%26nbsp%3Bthe%26nbsp%3Bargument%26nbsp%3Bc-string.%3C%2Fp%3E%3Cp%3E-%26nbsp%3Bcheck%26nbsp%3Bto%26nbsp%3Bsee%26nbsp%3Bif%26nbsp%3Bthe%26nbsp%3Bc-string%26nbsp%3Bis%26nbsp%3Ba%26nbsp%3Bpalindrome%26nbsp%3Band%26nbsp%3B%3Cbr%3E%3C%2Fp%3E%3Cp%3E-%26nbsp%3Breturn%26nbsp%3Bthe%26nbsp%3Bboolean%26nbsp%3Bresult.%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3EBack%26nbsp%3Bin%26nbsp%3Bmain%3A%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3Eprint%26nbsp%3Bthe%26nbsp%3Bc-string%3A%26nbsp%3Bin%26nbsp%3Ball%26nbsp%3Blowercase%26nbsp%3Band%26nbsp%3Bwithout%26nbsp%3Bspaces%26nbsp%3Band%26nbsp%3Bpunctuation%26nbsp%3Bmarkss%26nbsp%3Band%26nbsp%3Btell%26nbsp%3Bwhether%26nbsp%3Bit%26nbsp%3Bis%26nbsp%3Ba%26nbsp%3Bpalindrome%26nbsp%3Bor%26nbsp%3Bnot.%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3EThese%26nbsp%3Bare%26nbsp%3Bwhat%26nbsp%3BI%26nbsp%3Bneed%26nbsp%3Bto%26nbsp%3Btest%3A%3C%2Fp%3E%3Cp%3Emom%3C%2Fp%3E%3Cp%3EYankees%26nbsp%3Bare%26nbsp%3Bnumber%26nbsp%3B1%3C%2Fp%3E%3Cp%3EA%26nbsp%3BSanta%26nbsp%3Bat%26nbsp%3BNASA.%3C%2Fp%3E%3Cp%3EDid%26nbsp%3BHannah%26nbsp%3Bsee%26nbsp%3Bbess%26nbsp%3B%3F%26nbsp%3BHannah%26nbsp%3Bdid!%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%23include%26lt%3Biostream%26gt%3B%3Cbr%3E%23include%26lt%3Bstring%26gt%3B%3Cbr%3Eusing%26nbsp%3Bnamespace%26nbsp%3Bstd%3B%26nbsp%3B%3Cbr%3Eint%26nbsp%3Bmain()%3Cbr%3E%7B%3Cbr%3Echar%26nbsp%3Bstr%5B80%5D%3B%3Cbr%3Ecout%26lt%3B%26lt%3B%22Enter%26nbsp%3Bthe%26nbsp%3Bstring%3A%26nbsp%3B%22%3B%3Cbr%3Ecin.getline(str%2C80)%3B%3Cbr%3Eint%26nbsp%3Blength%26nbsp%3B%3D%26nbsp%3Bstrlen(str)%3B%3Cbr%3E%3Cbr%3Ebool%26nbsp%3Bpal%26nbsp%3B%3D%26nbsp%3Btrue%3B%3Cbr%3E%3Cbr%3Efor(int%26nbsp%3Bn%3D0%3B%26nbsp%3Bn!%3Dlength%2F2%3B%26nbsp%3Bn%2B%2B)%26nbsp%3B%3Cbr%3E%7B%3Cbr%3Eif(pal)%26nbsp%3B%3Cbr%3E%7B%3Cbr%3Eif(str%5Bn%5D!%3Dstr%5Blength-n-1%5D)%3Cbr%3E%7B%3Cbr%3Epal%26nbsp%3B%3D%26nbsp%3Bfalse%3B%26nbsp%3B%3Cbr%3E%7D%3Cbr%3E%3Cbr%3E%7D%3Cbr%3Eelse%3Cbr%3E%7B%3Cbr%3Ebreak%3B%26nbsp%3B%2F%2F%26nbsp%3B%3Cbr%3E%7D%3Cbr%3E%7D%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3Eif(pal)%3Cbr%3E%7B%3Cbr%3Ecout%26lt%3B%26lt%3B%22Palindrome%22%3B%3Cbr%3E%7D%3Cbr%3Eelse%3Cbr%3E%7B%3Cbr%3Ecout%26lt%3B%26lt%3B%22Not%26nbsp%3BPalindrome%22%3B%3Cbr%3E%7D%3Cbr%3E%3Cbr%3Ecin.get()%3B%3Cbr%3Ereturn%26nbsp%3B0%3B%3Cbr%3E%7D%3Cbr%3E%3C%2Fp%3E

Explanation / Answer

#include<iostream>

#include<cstring>

using namespace std;

void change_string(char str[])

{

int length = strlen(str);

for(int i=0; i<length; i++)

{

if(str[i]==' ' || str[i] == '!')

{

for(int k=i; k<length; k++)

str[k] = str[k+1];

length--;

}

if(str[i]>=65 && str[i]<=90)

{

str[i] = str[i]+32;

}

}

str[length+1]='';

}

bool is_string_palindrome(char str[])

{

char newstring[strlen(str)+1];

for(int i=0; i<=strlen(str); i++)

{

newstring[i] = str[strlen(str)-i-1];

}

if(strcmp(str,newstring)==0)

return true;

return false;

}

int main()

{

char str[] = "Mam";

char str2[] = "Ana GY YG anA!";

char str3[] = "kick";

change_string(str);

change_string(str2);

change_string(str3);

cout << "is "<< str << " is palindrome ?" << (is_string_palindrome(str)? " Yes":" No") << endl;

cout << "is "<< str2 << " is palindrome ?" << (is_string_palindrome(str2)? " Yes":" No") << endl;

cout << "is "<< str3 << " is palindrome ?" << (is_string_palindrome(str3)? " Yes":" No") << endl;

return 0;

}