![]() |
Re: Zahlen-Kombinationen
Zitat:
|
Re: Zahlen-Kombinationen
Zitat:
|
Re: Zahlen-Kombinationen
Der Aufrufer von BioserPermutation ist für die Speicherverwaltung zuständig. Weiterhin kannst/solltest Du die Datentypen sowie die High-funktion ggf an deinen Datentyp anpassen.
Wenn Deine Liste z.B. Als Array [0..3] Of Integer deklariert ist, dann wäre es ja schön blod, die zuerst in eine TList zu kopieren, dann zu BioserPermutieren, um sie abschließend wieder von der TList in das Array of Integer zurück zukopieren. Insofern verwendest Du meinen Code natürlich nur als Anhaltspunt. |
Re: Zahlen-Kombinationen
Wir haben damit jetzt gerade in der Schule begonnen,
vielleicht hilft dir das:
Delphi-Quellcode:
const n = 5;
var Form1: TForm1; zahl_gesetzt : array[1..n] of Boolean; zahlen : array[1..n] of Integer; count : integer; implementation {$R *.dfm} procedure init; var i : integer; Begin for i := 1 to n do zahl_gesetzt[i] := false; count := 0; end; procedure Ausgabe(zahl : integer); Begin Form1.StringGrid1.Cells[0, count] := IntToStr(zahl); inc(count); Form1.Stringgrid1.RowCount := count; Form1.StringGrid1.Update; Form1.StringGrid1.Refresh; end; procedure permut(i : integer); var j, k ,zahl : integer; Begin for j := 1 to n do if not zahl_gesetzt[j] then Begin zahlen[i] := j; zahl_gesetzt[j] := true; if i < n then permut(i+1) else Begin zahl := 0; for k := n downto 1 do zahl := zahl + (zahlen[k] * round(power(10, n-k))); Ausgabe(zahl); end; zahl_gesetzt[j] := false; end; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin Init; permut(1); end; Hoffe es hilft! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:43 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