Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Auslesen von Buchstaben in Arrays (https://www.delphipraxis.net/203790-auslesen-von-buchstaben-arrays.html)

marvme02 24. Mär 2020 14:41

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.

https://drive.google.com/open?id=13z...kGbYaI1UHV_QII (Da ist die Aufgabenstellung beschrieben.)


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!

Klaus01 24. Mär 2020 14:51

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

DieDolly 24. Mär 2020 14:52

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.

Luckie 24. Mär 2020 14:59

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.

Alallart 24. Mär 2020 15:04

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;

marvme02 24. Mär 2020 15:11

AW: Auslesen von Buchstaben in Arrays
 
Zitat:

Zitat von Alallart (Beitrag 1460420)
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;

Danke sehr, das ist richtig hilfreich! Tausend Dank :)

marvme02 24. Mär 2020 15:12

AW: Auslesen von Buchstaben in Arrays
 
Zitat:

Zitat von Luckie (Beitrag 1460419)
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.

Der Denkansatz ist sehr hilfreich, ich probiere das gleich mal aus :)

Luckie 24. Mär 2020 15:33

AW: Auslesen von Buchstaben in Arrays
 
Zitat:

Zitat von marvme02 (Beitrag 1460422)
Der Denkansatz ist sehr hilfreich, ich probiere das gleich mal aus :)

Im Prinzip ist es das, was Alallart programmiert hat. Ich hoffe, das hast du gemerkt?

Dalai 24. Mär 2020 15:46

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:
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] + ', ';
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.

Grüße
Dalai

marvme02 25. Mär 2020 07:05

AW: Auslesen von Buchstaben in Arrays
 
Zitat:

Zitat von Luckie (Beitrag 1460423)
Zitat:

Zitat von marvme02 (Beitrag 1460422)
Der Denkansatz ist sehr hilfreich, ich probiere das gleich mal aus :)

Im Prinzip ist es das, was Alallart programmiert hat. Ich hoffe, das hast du gemerkt?

Ja, das habe ich gemerkt :) wollte nur nochmal meinen Dank aussprechen :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 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