Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Positionen der Zeichen im String vertauschen (https://www.delphipraxis.net/126496-positionen-der-zeichen-im-string-vertauschen.html)

DarkDevil 26. Dez 2008 11:48


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:
  rand1 := Random(length(Ergebnis))+1 ;
rand2 := Random(length(Ergebnis))+1 ;
Jetzt weiß ich allerdings nicht, wie ich die jeweiligen Zeichen miteinander tauschen kann.
Ich hoffe ihr könnt mir sagen womit ich das machen kann.


Mfg. DarkDevil

DeddyH 26. Dez 2008 11:52

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;

DarkDevil 26. Dez 2008 12:25

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 22:46 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