![]() |
Zahlenvorkommen zählen
Hallo,
ich hab mal wieder für euch wohl ein Kinderproblem. Ich habe eine Zahlenkette nach diesem Schema : 38 19 74 81 73 38 2719 271 usw. Nun will ich mit Delphi zählen wie oft welche Zahl darin vorkommt. Danke :) |
Re: Zahlenvorkommen zählen
Sind die Zahlen beschränkt?
Wenn ja, kannste Bucketsort verwenden. Ansonsten mit einem anderen Algorithmus sortieren und nachher dann ne Liste machen mit den Zahlen ;) |
Re: Zahlenvorkommen zählen
Zitat:
Äh. Wofür bedankst Du dich? :stupid: |
Re: Zahlenvorkommen zählen
@jfheins
Was meinst du mit beschränkt? Es sind immer gleich viele Zahlen, allerdings variiert wieviele Stellen sie haben. Getrennt sind sie immer durch ein Leerzeichen. @alzaimar Bisher konnte mir DP immer helfen :) |
Re: Zahlenvorkommen zählen
Mit beschränkt meine ich, ob die Zahlen immer kleiner sind als eine Zahl X (Bzw. ob für alle möglichen Mengen eine kleinste obere Schranke X existiert, so dass X kleiner ist als die Anzahl der Elemente)
Also wenns z.B. Lottozahlen sind, kann eine Zahl nicht größer als 49 werden - das meine ich ;) |
Re: Zahlenvorkommen zählen
Die Grenze liegt bei 100(inbegriffen).
|
Re: Zahlenvorkommen zählen
Ja dann ist ja einfach :P
Entweder mit explode() ein Array erzeugen, oder eine Funktion schreiben, die einen String als var-Argument bekommt und die erste Zahl rausschneidet und zurückgibt. Dann ein Array[0..100] of Cardinal; deklarieren und die Zahlen nach und nach einsortieren. Mit der oben beschriebenen Funktion ungefähr so:
Delphi-Quellcode:
var
zaehler: Array[0..100] of Integer; temp: Integer; begin // ggf. mit nullen füllen while str <> '' do begin temp := getfirstnumber(str); zaehler[temp] := zaehler[temp] + 1; end; |
Re: Zahlenvorkommen zählen
Zitat:
Zu deinem Problem: Für jede Zahl hast du einen 'Topf'. Gehe deine Zahlenliste durch und lege in jeden Topf der aktuellen Zahl ein Steinchen. Übertragen auf ein Programm würde ich den Topf als Zahl darstellen und 'ein Steinchen in den Topf legen' als 'Topf := Topf + 1' implementieren. Da Du für jede Zahl einen Topf hast, kannst du ein Array deklarieren. Wenn es viel zu viele unterschiedliche Zahlen sein können, dann wird es etwas komplizierter. |
Re: Zahlenvorkommen zählen
Danke für eure Hilfe :)
Hab es hinbekommen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 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