Frage von asfdasldfjsl, 68

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 -->

Antwort
von pbart, 38

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.

Antwort
von Odorwyn, 33

Hallo asfdasldfjsl,

Schaue dir doch erstmal an was ein String eigentlich ist.
Zusätzlich solltest du dir nochmal separat Arrays anschauen ;)

LG

Antwort
von bbmob07, 26

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ß

Antwort
von Franz1957, 22

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.

Antwort
von Garfield0001, 17

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.

Keine passende Antwort gefunden?

Fragen Sie die Community