![]() |
Delphi-Version: XE8
Auslesen von Buchstaben in Arrays
Hallo :)
Ich habe eine Frage bezüglich der Ausgabe von der Anzahl von einem bestimmten Buchstaben in einem Array. ![]() Die Aufgabe haben wir von unserem Lehrer erhalten, welche wir nun zu Hause lösen sollen. Leider habe ich keine weiteren Informationen dazu erhalten und auf vorherige Quelltexte kann ich nicht zurückgreifen, da die Schule leider zu hat :( Kurz gesagt: ich habe nicht viel Wissen über Delphi und sitze schon seit 2 Stunden an dieser Aufgabe, ohne wirklich weiterzukommen, weil ich einfach zu dumm dafür bin... Ich bin mir auch bewusst, dass das Forum hier nicht zum erledigen meiner Hausaufgaben gedacht ist, dennoch würde ich mich sehr über Hilfe freuen :) Danke schon mal im Voraus! |
AW: Auslesen von Buchstaben in Arrays
.. Du wirst zwei Schleifen benötigen.
Die erste die die Felder des Array anspricht. Die zweite welche die Buchstaben des Städtenamens anspricht. Einen Zähler welcher hochgezählt wird wenn ein bestimmter Buchstabe gefunden wird. Grüße Klaus |
AW: Auslesen von Buchstaben in Arrays
Dann zeig mal, was du schon hast. Jeder wird sich schwer damit tun dir zu glauben, dass du in zwei Stunden keinen Code geschrieben hast und helfen wird dann vermutlich auch niemand.
Und selbst wenn du den Code nicht schreiben kannst, solltest du wenigstens die Struktogramme entwerfen können. |
AW: Auslesen von Buchstaben in Arrays
Als Denkansatz Aufgabe 1:
Zwei verschachtelte for-Schleifen. Äußere über das Array mit den Städten, innere über die Namen der Städte. Schleifenköper der inneren Schleife: Wenn Buchstabe von Stadt String = vorgegebener Buchstabe, dann Zähler hoch setzen. |
AW: Auslesen von Buchstaben in Arrays
Ist nicht die Lösung der Aufgabe, aber zeigt evt. den Weg:
Delphi-Quellcode:
const
max = 6; var stadt : array[1..max] of string; procedure TForm1.FormCreate(Sender: TObject); begin stadt[1] := 'Bautzen'; stadt[2] := 'Bonn'; stadt[3] := 'Dresden'; stadt[4] := 'Freital'; stadt[5] := 'Großenhain'; stadt[6] := 'Aachen'; end; procedure TForm1.Button1Click(Sender: TObject); const gesucht = 'b'; var i, k, c: Integer; begin c := 0; for i := 1 to max do for k := 1 to Length(stadt[i]) do if UpCase(stadt[i][k]) = UpCase(gesucht) then inc(c); ShowMessage('Der Buchstabe "' + gesucht + '" kommt ' + IntToStr(c) + ' vor.'); end; |
AW: Auslesen von Buchstaben in Arrays
Zitat:
|
AW: Auslesen von Buchstaben in Arrays
Zitat:
|
AW: Auslesen von Buchstaben in Arrays
Zitat:
|
AW: Auslesen von Buchstaben in Arrays
Für den zweiten Teil der Aufgabe würde ich wohl so vorgehen: Wiederum zwei geschachtelte For-Schleifen, die äußere über das Array, die innere über die einzelnen Strings. Die innere Schleife sollte aber von 1 bis Length(String)-1 (oder von 2 bis Length(String)) gehen. In der inneren Schleife wird der Wert des aktuellen Buchstabens mit dem vorhergehenden verglichen (oder im zweiten Fall mit dem nachfolgenden).
Hier mal die Ausführungen ansatzweise in Code-Form
Delphi-Quellcode:
Der Code ist ungetestet weil aus dem Kopf getippt. Ich hoffe, dass alles passt und ich nichts übersehen habe, was z.B. zu einer Zugriffsverletzung führen könnte.
editstadt.Text:= '';
for i := 1 to max do for k := 2 to Length(stadt[i]) do if UpCase(stadt[i][k]) = UpCase(stadt[i][k-1]) then editstadt.Text:= editstadt.Text + stadt[i][k] + ', '; Grüße Dalai |
AW: Auslesen von Buchstaben in Arrays
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 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