Autor Beitrag
Leftout
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Di 16.05.06 11:08 
Hi,
folgendes Problem:
in einem Editfeld steht im Text ein String (logisch), die Buchstaben des Strings sollen zufällig getauscht werden.
Wie geh ich das Problem am besten an?

Danke schon mal im vorraus
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Di 16.05.06 11:17 
Pseudocode:

Zufällige Position (1) im String wählen.
Zeichen bei (1) rausholen und in zwischenspeicher (Z) ablegen.
Zufällige ANDERE Position (2) im String wählen.
Zeichen bei (1) durch Zeichen bei (2) ersetzen
Zeichen bei (2) durch Zeichen im Speicher (Z) ersetzen.
Wiederhole bis gewünschtes Ergebnis erreicht

_________________
Delphi: XE - OS: Windows 7 Professional x64
Danny87
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 688

Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
BeitragVerfasst: Di 16.05.06 11:22 
Ist im Grunde sowas wie ein Sortieralgorithmus. Nur halt mit zufälligen Stellenwerten wo die Buchstaben hingeschoben werden ;-)
Is en bischen dumm erklärt, sorry!

Gruss
Daniel
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Di 16.05.06 11:24 
ok, anders gefragt: was soll deine ausgabe sein?
sortierte Buchstaben? wenn ja: nach was sortiert?
oder sollen die zufällig durcheinander gewürfelt werden?

_________________
Delphi: XE - OS: Windows 7 Professional x64
starsurfer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 334

Win 95, Win 98, Win XP, Win Vista, Linux
D5 Enterprise ,D2005, D6 Personal, Visual C++ Express 2005, C++ Builder 6 E, Dev-C++
BeitragVerfasst: Di 16.05.06 11:26 
user profile iconHorschdware hat folgendes geschrieben:
ok, anders gefragt: was soll deine ausgabe sein?
sortierte Buchstaben? wenn ja: nach was sortiert?
oder sollen die zufällig durcheinander gewürfelt werden?

siehe:
Zitat:
die Buchstaben des Strings sollen zufällig getauscht werden.


das geht so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
var new_text,text:string;
    i:integer;
begin
new_text:='';
text:=edit1.text;
randomize;
for i:=1 to length(text) do
    begin
    insert(text[i],new_text,random(length(new_text))+1);
    end;
edit1.text:=new_text;
end;

so

_________________
GEIZ IST GEIL! - Ihr Sozialamt
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Di 16.05.06 11:31 
hmm... so ist aber nicht sichergestellt, dass jeder buchstabe aus dem eingangsstring verwendet wird.

wie wärs denn damit?
ausblenden Delphi-Quelltext
1:
2:
3:
ok, anders gefragt: was soll deine ausgabe sein?
sortierte Buchstaben? wenn ja: nach was sortiert?
oder sollen die zufällig durcheinander gewürfelt werden?

_________________
Delphi: XE - OS: Windows 7 Professional x64
chriss1988
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 389

windows xp prof,home,windows98
delphi5
BeitragVerfasst: Di 16.05.06 11:32 
oh ja toller text Horschdware :lol:

edit :oops: mein fehler beim ersten öffnen war dein feld leer nun seh ich den text
sorry ich geh gleich in die ecke und schäme mich :roll:
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1654
Erhaltene Danke: 244

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Di 16.05.06 11:36 
Hallo,

suche einfach nach >mischen<
Ein String ist ein array[1..length(STring)] of char.

Gruss Horst
chriss1988
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 389

windows xp prof,home,windows98
delphi5
BeitragVerfasst: Di 16.05.06 11:37 
user profile iconLeftout hat folgendes geschrieben:

in einem Editfeld steht im Text ein String (logisch), die Buchstaben des Strings sollen zufällig getauscht werden.


@horschdware
frage beantwortet
starsurfer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 334

Win 95, Win 98, Win XP, Win Vista, Linux
D5 Enterprise ,D2005, D6 Personal, Visual C++ Express 2005, C++ Builder 6 E, Dev-C++
BeitragVerfasst: Di 16.05.06 11:44 
user profile iconHorschdware hat folgendes geschrieben:
hmm... so ist aber nicht sichergestellt, dass jeder buchstabe aus dem eingangsstring verwendet wird.

wie wärs denn damit?
ausblenden Delphi-Quelltext
1:
2:
3:
ok, anders gefragt: was soll deine ausgabe sein?
sortierte Buchstaben? wenn ja: nach was sortiert?
oder sollen die zufällig durcheinander gewürfelt werden?


wieso nicht?

_________________
GEIZ IST GEIL! - Ihr Sozialamt
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Di 16.05.06 11:44 
ähhm. ja, ok... sorry, bin grad nicht ganz da...

_________________
Delphi: XE - OS: Windows 7 Professional x64