![]() |
Drei Chinesen mit dem Kontrabass
Guten Tag liebe Leute,
ich stehe vor folgendem Problem, dass ich die Aufgabe bekommen habe.... ein Programm zu erstellen mit Delphi, das nach der Eingabe der Liedzeile: "Drei Chinesen mit dem Kontrabass" und der Wahl des Vokals A E I O U eine neue Liedtextzeile ausgibt in der alle Vokale ersetzen wurden.... z.B alle Vokale werden durchs I ersetzt: Drii Chinisin mit dim Kintribiss Wie setzt man das nun erstmal in ein Struktogramm um und dann anschließend in einen Delphi- quelltext. Würde mich sehr auf Antworten freuen:) mfg oimel |
Re: Drei Chinesen mit dem Kontrabass
Das geht mit einer einfachen Schleife (String durchgehen, Zeichen auf Vokal prüfen und ggf. ersetzen).
P.S: Willkommen in der DP :dp: |
Re: Drei Chinesen mit dem Kontrabass
Oder in einem Rutsch.
|
Re: Drei Chinesen mit dem Kontrabass
Für ein Struktogramm bietet sich eine For-Schleife an (siehe DeddyH), im (Delphi-)Source bietet sich die Funktion "StringReplace" an.
|
Re: Drei Chinesen mit dem Kontrabass
Zitat:
|
Re: Drei Chinesen mit dem Kontrabass
StringReplace dürfte intern auch mit einer Schleife arbeiten.
|
Re: Drei Chinesen mit dem Kontrabass
oder abfragen ob es ein Vokal ist und dann ihn statt den Vokalen einfügen
zb.
Delphi-Quellcode:
Showmessage('Dr'+edit1.text+edit1.text+' Ch'....) //zwar nicht die beste, aber die einfachste Methode
|
Re: Drei Chinesen mit dem Kontrabass
Zitat:
Gruß Ansgar |
Re: Drei Chinesen mit dem Kontrabass
wie gesagt, das ist die einfachste
|
Re: Drei Chinesen mit dem Kontrabass
Pseudo Code
Delphi-Quellcode:
hab seit langem nicht mit Delphi gearbeitet und da ich auch grade keins hier hab weiss ich niccht ob das hier funktionieren wird.
function ersetzInString(text: String, vokal: Char): String;
var position: integer; vokale: array['a', 'e', 'i', 'o', 'u'] of Char; neuerText: string; begin neuerText := ''; for position := 1 to count(text) - 1 do begin if text[position] not in vokale then //ist das kein Vokal? (warum kein? weil man normalerweise das ins if setzt, was am oeftesten passiert neuerText := neuerText + text[position] //alter Buchstabe dran; ACHTUNG siehe unten else //und hier was weniger oft passiert neuerText := neuerText + vokal; //neuer Vokal dran; ACHTUNG siehe unten end; result := neuerText; //zurueckgeben end; bei dem ACHTUNG: hier muss man um das text[position] bzw. vokal ein String(...) setzen, da es sonst ein inkompatibeler Typ ist (String und Char). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz