TI-S2

Opdrachten Functies, basis

Inhoud

Opdracht 2.12 Palindroom

De onderstaande functie controleert of een string een palindroom is. Een palindroom is een woord dat hetzelfde blijft als je het woord omdraait. Voorbeelden van palindromen zijn: kok, lepel, meetsysteem. De functie palindroom maakt gebruik van de functie reverse() die een string omdraait.

2.12 A:

Schrijf een functie reverse() die een string omdraait.

bool isPalindroom(const string& word){
  string orginalWord = word;
  reverse(orginalWord);
  for(unsigned int i=0; i<word.size(); i++){
    if(word[i] != orginalWord[i]){
      return false;
    }
  }
  return true;
}

Zie hiervoor de sectie “Waarden omwisselen” in de reader. **De omgedraaide versies van deze woorden zijn: *soodrekkets, neewollaH, lepel, ejself, en gindlemmob.

2.12 B:

De bovenstaande gegeven functie isPalindroom() is eigenlijk niet zo heel mooi. Het is namelijk helemaal niet nodig om de reverse functie te gebruiken. Schrijf je eigen isPalindroom() functie die zonder het woord om te draaien of te kopieren controleert of het woord een palindroom is. Hint: word[word.size-1] geeft de laatste letter van het woord.