Zahlenreihe-->Alle Möglickeiten, wie gehts?
Zahlenreihe-->Alle Möglickeiten, wie gehts?
Hallo
ich versuche ein Programm zu machen,wo man,sagen wir mal 8 Buchstaben eintippen kann, und dann das Programm alle möglichen Variationen ausgibt, wie die Reihenfolge aussehn kann.
nur leider weiss ich nicht,wie ich das in Purebasic eingeben muss
hat jemand ne idee?
ich versuche ein Programm zu machen,wo man,sagen wir mal 8 Buchstaben eintippen kann, und dann das Programm alle möglichen Variationen ausgibt, wie die Reihenfolge aussehn kann.
nur leider weiss ich nicht,wie ich das in Purebasic eingeben muss
hat jemand ne idee?
Theoretisch:
1) Array mit index 0 bis AnzahlBuchstaben! - 1
2) Buchstaben des Startstring mit Random() neu verteilen
3) Überprüfen ob neue Kombination schon im Array
4) Wenn noch nicht vorhanden weiter sonst zu 2)
5) Neue Kombination an index X speichen
6) index erhöhen und wieder zu 2 bis array voll
@milan1612
Spielverderber
1) Array mit index 0 bis AnzahlBuchstaben! - 1
2) Buchstaben des Startstring mit Random() neu verteilen
3) Überprüfen ob neue Kombination schon im Array
4) Wenn noch nicht vorhanden weiter sonst zu 2)
5) Neue Kombination an index X speichen
6) index erhöhen und wieder zu 2 bis array voll
@milan1612
Spielverderber
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
@Dante
deine methode hat aber gewichtige schwächen:
> 3) Überprüfen ob neue Kombination schon im Array
kann seeeehr lange dauern.
> 2) Buchstaben des Startstring mit Random() neu verteilen
braucht nen komplexen algo, um mit random zuverlässig zu arbeiten,
beziehungsweise ne x-fach geschachtelte schleife, ob der buchstabe schon benutzt wurde.
besser ist es, alle möglichen kombinationen logisch durchzugehen,
und gar nicht erst doppelte zu erzeugen.
ob die permutations-routine aus dem code-archiv zuverlässig so macht, weiß ich nich...
deine methode hat aber gewichtige schwächen:
> 3) Überprüfen ob neue Kombination schon im Array
kann seeeehr lange dauern.
> 2) Buchstaben des Startstring mit Random() neu verteilen
braucht nen komplexen algo, um mit random zuverlässig zu arbeiten,
beziehungsweise ne x-fach geschachtelte schleife, ob der buchstabe schon benutzt wurde.
besser ist es, alle möglichen kombinationen logisch durchzugehen,
und gar nicht erst doppelte zu erzeugen.
ob die permutations-routine aus dem code-archiv zuverlässig so macht, weiß ich nich...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Will da einer Night-Loft spielen
Die 50 cent würde ich lieber woanders für ausgeben

Die 50 cent würde ich lieber woanders für ausgeben

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

@Kaeru
Ich weiß
Hab ja auch geschrieben "Theoretisch"
Sollte auch nur nen Denkanstoss sein, bin kein Fan von vorgekautem...
Insbesondere nicht wenn dann vom Fragestelle Sachen kommen wie:
>und was davon ist der Quellcode?
da ist imo nicht mit fertigen codes geholfen und vorallem war ja die allererste Aussage:
>ich versuche ein Programm zu machen
und nicht "Hat wer nen fertiges Programm"
Mal ganz davon abgesehen das im Source logische und syntaktische Fehler sind...
Entweder ist der Debug-Text falsch gewählt oder die Aussage ist falsch "Possible permutations of X" ist, ausgehend von X = 1234 garantiert nicht 1234 sonder 24 (4!)
Ich weiß

Hab ja auch geschrieben "Theoretisch"
Sollte auch nur nen Denkanstoss sein, bin kein Fan von vorgekautem...
Insbesondere nicht wenn dann vom Fragestelle Sachen kommen wie:
>und was davon ist der Quellcode?
da ist imo nicht mit fertigen codes geholfen und vorallem war ja die allererste Aussage:
>ich versuche ein Programm zu machen
und nicht "Hat wer nen fertiges Programm"
Mal ganz davon abgesehen das im Source logische und syntaktische Fehler sind...
Code: Alles auswählen
PERM_BASE$="1234" ;set Permutations-Basis
Debug "Possible permutations of: " + PERM_BASE$
Öhm ja o.0
falsch gelesen was allerdings nix dran ändert das meine Aussage wiederum richtig ist, denn "Mögliche Permutationen von 1234" ist nicht 1234 sondern 24
Aber, es stimmt die Aussage "Mögliche Permutationen von: 1234" ist kein logischer Fehler höchstens in meiner Logik
Was nicht's dran ändert das der Source nicht 'sauber' ist
falsch gelesen was allerdings nix dran ändert das meine Aussage wiederum richtig ist, denn "Mögliche Permutationen von 1234" ist nicht 1234 sondern 24
Aber, es stimmt die Aussage "Mögliche Permutationen von: 1234" ist kein logischer Fehler höchstens in meiner Logik
Was nicht's dran ändert das der Source nicht 'sauber' ist