nim-lecture/live/lösungen/prozeduren/Palindrom.nim

32 lines
763 B
Nim

import std/unicode
proc isPalindrome(s: string): bool =
return s == s.reversed()
let testString = "hallo" # Beispiel: Palindrom
if isPalindrome(testString):
echo testString, " ist ein Palindrom."
else:
echo testString, " ist kein Palindrom."
# alternativ
proc reverseString(str: string): string =
var reversedStr = ""
for i in countdown(str.len - 1, 0): # Iteriere über den String rückwärts
reversedStr.add(str[i]) # Füge jedes Zeichen in umgekehrter Reihenfolge hinzu
return reversedStr
proc isPalindromeManuell(s: string): bool =
return s == s.reverseString()
let testString2 = "madam" # Beispiel: Palindrom
if isPalindrome(testString2):
echo testString2, " ist ein Palindrom."
else:
echo testString2, " ist kein Palindrom."