![]() |
Positionen der Zeichen im String vertauschen
Hi, ich versuche gerade ein Programm zu schreiben.
Dabei sollen in einem String 2 Zeichen ihre Positionen tauschen. Bsp.: aus 'hallo' soll 'allho' werden. Dazu habe ich schon die random funktion genutzt um 2 belibige Zeichen zu finden:
Delphi-Quellcode:
Jetzt weiß ich allerdings nicht, wie ich die jeweiligen Zeichen miteinander tauschen kann.
rand1 := Random(length(Ergebnis))+1 ;
rand2 := Random(length(Ergebnis))+1 ; Ich hoffe ihr könnt mir sagen womit ich das machen kann. Mfg. DarkDevil |
Re: Positionen der Zeichen im String vertauschen
Hallo und Willkommen in der DP :dp:,
das geht ganz einfach mit einem Dreieckstausch, d.h. Du merkst Dir ein zu tauschendes Zeichen in einer temporären Variablen und überschreibst das dann mit dem Wert des anderen Zeichens, welches anschließend den gemerkten Wert bekommt.
Delphi-Quellcode:
var tmp: AnsiChar;
begin tmp := StringVar[rand1]; StringVar[rand1] := StringVar[rand2]; StringVar[rand2] := tmp; end; |
Re: Positionen der Zeichen im String vertauschen
Vielen Dank, hab es gleich mal eingebaut und es funktioniert! :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 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