AGB  ·  Datenschutz  ·  Impressum  







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

Kryptoanalyse

Ein Thema von Kuhlifrumsdenteich · begonnen am 15. Dez 2005 · letzter Beitrag vom 16. Dez 2005
Antwort Antwort
Kuhlifrumsdenteich

Registriert seit: 15. Dez 2005
2 Beiträge
 
#1

Kryptoanalyse

  Alt 15. Dez 2005, 18:19
Moin Moin,

haette da gern mal folgendes Problem.
Habe einen Text in einem Memofeld. Dieser Text wird mit folgenden Quellcode
bearbeitet und dadurch die Haeufigkeit der Buchstaben rausgefunden, welche zum
Abschluss in eine Listbox flattern.

Doch leider ist die Ausgabe in der Listbox etwas duemmlich, da der Quellcode
nicht ordnet. Will heissen, mein Programm soll nun noch den haeufigsten Buchstaben an die erste Stelle setzen.
Sprich: einfach geordnet (von gross nach klein) in der listbox darstellen.

Bis jetzt soweit gekommen:

Delphi-Quellcode:
const
  Alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var
  i, a: Integer;

begin
  for i := 1 to Length(Alphabet) do begin
    a := Anzahl(Alphabet[i]);
    ListBox1.Items.Add(Format('"%s" = %d', [Alphabet[i], a]));
  end;
end;
Ueberlegung:
Vielleicht mit einem Array (2-dimensional) zaehlen und dann danach mit
einer for-Schleife gleich ordnen.
Vielleicht kann ja jemand helfen.
Danke!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Kryptoanalyse

  Alt 15. Dez 2005, 20:21
Herzlich willkommen in der Delphi-PRAXiS.

Die Häufigkeit der einzelnen Buchstaben in einem Text kannst du wohl am einfachsten in einem array of integer abzählen. Das array kannst du ruhig fest dimensionieren, da ja fest steht wieviele verschiedene Zeichen möglich sind. Wenn du es geschickt anstellst, dann ist der Zeichencode der Index in dein array.

Die Sortierung kann dir die Listbox abnehmen (Sorted = TRUE), wenn du in einer Zeile zuerst die Häufigkeit und dann den Buchstaben ausgibst. Die Häufigkeit musst du nur rechtsbündig formatieren, damit der Sort ein vernünftiges Ergebnis produziert. Schau dir dazu die Format-Funktion und die Format-Strings in der Online Hilfe von Delphi an.

Probiere mal. Du schaffst das.

Grüße vom marabu
  Mit Zitat antworten Zitat
Kuhlifrumsdenteich

Registriert seit: 15. Dez 2005
2 Beiträge
 
#3

Re: Kryptoanalyse

  Alt 15. Dez 2005, 22:44
Herzlichen Dank.

Die Ausgabe sieht (Listbox) sieht so aus:
A=27
B=6
C=78

es soll aber:
C=78
A=27
B=6

die Sortierung schafft doch die Listbox nicht von allein, oder ?
Ich hab echt keine Ahnung wie das funktionieren soll.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Kryptoanalyse

  Alt 16. Dez 2005, 07:53
Guten Morgen.

Um eine absteigende Sortierung zu erhalten kannst du den in der Komponente TStringList eingebauten QuickSort verwenden. Wenn du es selbst herausfinden möchtest, dann ist TStringList.CustomSort der richtige Einstieg in die Online-Hilfe. Für den Fall, dass du nicht zurecht kommst oder einfach nur mal sehen möchtest wie ein anderer es implementieren würde, habe ich dir eine DemoForm angehängt.

Grüße vom marabu
Angehängte Dateien
Dateityp: zip demoform_149.zip (1,6 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:19 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