AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Drei Chinesen mit dem Kontrabass

Ein Thema von Oimeldoimel · begonnen am 17. Dez 2007 · letzter Beitrag vom 17. Dez 2007
Antwort Antwort
Seite 1 von 2  1 2      
Oimeldoimel

Registriert seit: 17. Dez 2007
1 Beiträge
 
#1

Drei Chinesen mit dem Kontrabass

  Alt 17. Dez 2007, 15:50
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
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.600 Beiträge
 
Delphi 12 Athens
 
#2

Re: Drei Chinesen mit dem Kontrabass

  Alt 17. Dez 2007, 15:54
Das geht mit einer einfachen Schleife (String durchgehen, Zeichen auf Vokal prüfen und ggf. ersetzen).

P.S: Willkommen in der DP
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.852 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Drei Chinesen mit dem Kontrabass

  Alt 17. Dez 2007, 15:59
Oder in einem Rutsch.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Drei Chinesen mit dem Kontrabass

  Alt 17. Dez 2007, 16:01
Für ein Struktogramm bietet sich eine For-Schleife an (siehe DeddyH), im (Delphi-)Source bietet sich die Funktion "StringReplace" an.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Drei Chinesen mit dem Kontrabass

  Alt 17. Dez 2007, 16:01
Zitat von mkinzler:
Oder in einem Rutsch.
in so 1 bis 5 stringreplacerutschen Dann wird das Struktogramm aber ein bisschen fad.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.600 Beiträge
 
Delphi 12 Athens
 
#6

Re: Drei Chinesen mit dem Kontrabass

  Alt 17. Dez 2007, 16:03
StringReplace dürfte intern auch mit einer Schleife arbeiten.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#7

Re: Drei Chinesen mit dem Kontrabass

  Alt 17. Dez 2007, 16:04
oder abfragen ob es ein Vokal ist und dann ihn statt den Vokalen einfügen
zb.

Showmessage('Dr'+edit1.text+edit1.text+' Ch'....) //zwar nicht die beste, aber die einfachste Methode
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Drei Chinesen mit dem Kontrabass

  Alt 17. Dez 2007, 16:36
Zitat von STS301:
oder abfragen ob es ein Vokal ist und dann ihn statt den Vokalen einfügen
zb.

Showmessage('Dr'+edit1.text+edit1.text+' Ch'....) //zwar nicht die beste, aber die einfachste Methode
... ich gehe davon aus, das durch die aufgabe etwas beigebracht werden soll..., und das hier ist zwar eine möglichkeit die für wahrscheinlich jeden ersichtlich ist, aber so ziemlich das schlechteste was man machen kann (man lernt nichts und wird durch stupides hundertfaches tippen des selben wertes eher gefrustet als alles andere ), eine schleife ist da doch schon wesentlich angebrachter und wird auch bei dem ein oder anderem ein lichtlein aufgehen lassen.

Gruß
Ansgar
Ansgar
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#9

Re: Drei Chinesen mit dem Kontrabass

  Alt 17. Dez 2007, 16:38
wie gesagt, das ist die einfachste
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Drei Chinesen mit dem Kontrabass

  Alt 17. Dez 2007, 16:51
Pseudo Code
Delphi-Quellcode:
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;
hab seit langem nicht mit Delphi gearbeitet und da ich auch grade keins hier hab weiss ich niccht ob das hier funktionieren wird.

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).
vlees91
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz