Autor Beitrag
FriFra
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 557

Win XP Prof, Win XP Home,Win Server 2003,Win 98SE,Win 2000,Win NT4,Win 3.11,Suse Linux 7.3 Prof,Suse Linux 8.0 Prof
D2k5 Prof, D7 Prof, D5 Standard, D3 Prof, K3 Prof
BeitragVerfasst: Mi 17.09.03 23:38 
Ich suche eine möglichst einfache Möglichkeit einen beliebig langen String mit einem Zufallsgenerator komplett "durcheinander zu Würfeln"

z.B.: dasisteintest -> stiestndeista

Aber ich will nicht immer z.B. Zeichen 2 an Position 8 oder Zeichen 4 an Position 1, sondern eine wirklich zufällige Anordnung!

_________________
Michael
(principal certified lotus professional - developer)
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Do 18.09.03 05:34 
Das ist doch einfach nur "Suchen und Ersetzen", da Du aber sowieso den ersten Buchstaben behalten wolltest, ist das schon mit drin:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
function StringWuerfeln (s : string) : string;
var ch,
      ch2 : char;
      i,
      j   : integer;
  begin
    randomize;
     for i := 1 to length (s) do begin
       j := random (length (s)+1);   // zufällige Stelle im Wort, auf max. Länge achten
       if (i > 1and (j > 1then begin    // 1. Stelle lassen wie sie ist
         ch := s [j];                       // Buchstabe an der Stelle j (zufällig)
         ch2 := s [i];                      // alten Buchstaben sichern
         s [i] := ch;                       // alten durch zufälligen ersetzen
         s [j] := ch2;                     // neuen durch alten ersetzen
      end;
    end;
    StringWuerfeln := s;
  end;


Aber da taucht eine Frage auf: mit random begrenze ich ja die Zufallszahl nach oben, aber geht das auch nach unten ?

_________________
Gruß
Hansa
datensender
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 18

Windows 2000 P / Gentoo
D5 Enterprise
BeitragVerfasst: Do 18.09.03 08:37 
hansa hat folgendes geschrieben:
Aber da taucht eine Frage auf: mit random begrenze ich ja die Zufallszahl nach oben, aber geht das auch nach unten ?


najo, du brauchst nur die untere Grenze aufaddieren...
ausblenden Quelltext
1:
J := 5000 + Random(1001);					

wäre hier 5000 bis 6000

_________________
"...haben uns verirrt, kommen aber gut voran" (Tom DeMarco)