C-Programmierung Palindrome usw.?
Hallo community, ich muss folgendes C-Programm programieren hab aber nicht wirklich plan wie ich das angehen soll
• Schreibe eine Funktion, die das Wort umgedreht ausgibt. Groß-/Kleinschreibung soll dabei nicht betrachtet werden. Alle Buchstaben einfach klein schreiben! Teste deine Funktion. (hallo => ollah) • Erweitere diese Funktion so, dass sie überprüft, ob ein Wort ein Palindrom ist. Teste die Funktion ausführlich.
• Erweitere dein Programm so, dass auch Sätze überprüft werden können. gramm schreiben das folgene anforderungen hergibt -->
5 Antworten
in VBA würde ich es so lösen:
SUB Programm ()
Dim Text as String, NText as String, P as String
Text=LCase(Inputbox ("Gib einen Text ein."))
NText=Umdrehen (Text)
If Text <> NText Then P="k"
Msgbox "Der Text ' " & Text & " ' ist " & P & "ein Palindrom"
End Sub
Function Umdrehen (x)
Dim Z as Integer
For Z = Len (x) To 1 Step -1
Umdrehen=Umdrehen&Mid (x, Z, 1)
Next
End Function
mit Lcase wird der ganze Text gleich in Kleinbuchstaben gewandelt.
das P dient nur als Platzhalter für ein "k" so dass am ende statt "ein Palindrom" "kein Palindrom" wird. P bleibt ja leer wenn die Bedingung nicht erfüllt wird.
Hallo asfdasldfjsl,
Schaue dir doch erstmal an was ein String eigentlich ist.
Zusätzlich solltest du dir nochmal separat Arrays anschauen ;)
LG
Ein Palindrom ist ein Wort das umgekehrt das selbe ist. Ich kenne mich nicht spezifisch mit C aus, aber in anderen Programmiersprachen würde ich einfach das Wort das du ja als string Variable hältst in ein Char Array konvertieren. Dann kannst du es ja einfach mit ner FOR-Schleife rückwärts in nen neuen String schreiben. Am ende überprüfst du ob der alte String und der neue den selben Inhalt haben. Wenn ja ist es ein Palindrom, ansonsten nicht.
Hi,
in vielen Programmiersprachen gibt es dazu schon passende Funktionen, welche den String entsprechend umdrehen. In C müsste das "strrev()" sein.
Allerdings weiß ich nicht, ob das von deinem Lehrer so gewollt ist.
Auf folgender Seite kannst du dir ein wenig Inspiration holen, wie du das Problem lösen könntest:
http://www.programmingsimplified.com/c-program-reverse-string
Gruß
Hier sind Beispiele.
http://www.programmingsimplified.com/c-program-find-palindrome
Nachträglich: Wie ich soeben sehe, hast Du den gleichen Vorschlag ja schon bekommen. Die Beispiele lösen nur den zweiten Teil Deiner Aufgabe.