![]() |
676 zufällige Schlüssel zuweisen
Hallo,
ich bins mal wieder, euer Delphi-Noob. In dieser Hausaufgabe muss ich einen Text aus einem Memofeld Buchstabenpaarweise verschlüsseln können. Also: Es gibt 676 verschiedene Buchstabenpaare; 26² nämlich. Diesen Buchstabenpaaren soll jeweils ein Schlüssel zugewiesen werden, das heißt, aus AB wird meinetwegen HJ, aus GF wird ZU und so weiter. Mein StringGrid ist im anhängten Bild dargestellt. Könntet ihr mir nun sagen, wie es möglich ist, per Zufall (random) 676 Schlüssel zuzuweisen, sodass sie rechts von den Buchstabenpaaren im StringGrid stehen? Gruß Informatik-LK |
Re: 676 zufällige Schlüssel zuweisen
Erzeuge zwei Listen mit allen Kombinationen. Mach eine Schleife über die 1. Liste und weise per Zufall jedem Eintrag einen Eintrag der 2. Liste zu und markiere den dann als belegt.
|
Re: 676 zufällige Schlüssel zuweisen
Zitat:
|
Re: 676 zufällige Schlüssel zuweisen
Erstmal welches Bild?
Da ja bestimmte jedes Buchstabenpaar in deiner Liste nur einmal vorkommen darf, ist es am Einfachsten erstmal die Liste der Reihe nach zu füllen und danach vermischts du einfach per Zufall diese Liste. z.B.:
Code:
Liste Füllen: AA=AA AB=AB ... ZZ=ZZ
10000 Mal machen ( i1 = Random(676); i2 = Random(676); Liste[i1] und Liste[i2] vertauschen ) |
Re: 676 zufällige Schlüssel zuweisen
Liste der Anhänge anzeigen (Anzahl: 1)
Danke schon einmal für eure Antworten.
Sorry wegen dem Bild. Ist jetzt da. |
Re: 676 zufällige Schlüssel zuweisen
Ähm, tja.
Ich kenne Delphi erst seit September dieses Jahres, von daher kann ich leider mit euren Ratschlägen so nicht viel anfangen, da ich zum Beispiel nicht weiß, wie ich die Listen mit den Buchstaben fülle usw. Es ist zwar eine große Bitte, aber mir würde es viel mehr nützen, wenn ich den Quelltext [zur Lösung] sehen könnte, da ich es verstehe wenn ich ihn sehe, aber wenn ich ihn selber schreiben soll, habe ich enorme Probleme... Es wäre toll, wenn ihr mir einen Ansatz dazu geben könntet. |
Re: 676 zufällige Schlüssel zuweisen
sehr viele Zeilen niwa?
versuch's lieber etwa so (da Graue entspricht dem für was der Zelleninhalt steht und Schwarz sind die Überschriften)
Code:
[color=silver].[/color] Ax Bx Cx Dx ... Zx
xA [color=silver]AA BA CA ...[/color] xB [color=silver]AB BB ...[/color] xC [color=silver]AC ...[/color] ... xZ [color=silver]AZ ...[/color] |
Re: 676 zufällige Schlüssel zuweisen
Wäre vielleicht eine Idee, aber ich weiß immmer noch nicht, wie ich die Schlüssel zuweise... :(
|
Re: 676 zufällige Schlüssel zuweisen
wie ist den deine Liste definiert?
|
Re: 676 zufällige Schlüssel zuweisen
versuchs mal so:
Delphi-Quellcode:
Das Ergebnis ist dann:
procedure Zuweisen;
var schluessel: array[0..675] of string[2]; // 675 + 1 (nullstelle) = 676 x, y: Integer; {fuer die Schleife} zeichen1, zeichen2: integer; {zum zuweisen} begin Zeichen1 := ORD('A'); for x := 0 to 25 do begin Zeichen2 := ORD('A'); for y := 0 to 25 do begin schluessel[x*26+y] := Chr(Zeichen1) + Chr(Zeichen2); Zeichen2 := Zeichen2 + 1; end; Zeichen1 := Zeichen1 + 1; end; // Soviel zum Zuweisen end; [0]: AA [1]: AB ... [26]: AZ [27]: BA ... rollstuhlfahrer [EDIT] Fehler im Quelltext behoben [/EDIT] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 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