freshman2017
Goto Top

Kombinationen - Möglichkeiten in txt schreiben lassen!

Hallo Ihr,

ich würde gerne bspw. aus 5 Möglichkeiten: A B C D E
die verschiedenen Kombinationen, die sich ergeben könnten, untereinander in eine .txt schreiben lassen:

A
AB
ABC
ABCD
ABCDE
B

und so weiter - hat da jemand eine Idee, wie ich es abbilden kann?

Ich freue mich auf Eure Rückmeldung.

Content-Key: 351980

Url: https://administrator.de/contentid/351980

Ausgedruckt am: 29.03.2024 um 07:03 Uhr

Mitglied: 134464
134464 17.10.2017 aktualisiert um 16:51:38 Uhr
Goto Top
Nennt sich Kombinatorik/Permutation, gibts hier bereits diverse Threads dazu.

Diverse Möglichkeiten inkl. Codebeispielen!
Suche alle Kombinationen aus 2 und 3 Buchstaben
Mitglied: SlainteMhath
SlainteMhath 17.10.2017 um 16:50:04 Uhr
Goto Top
Moin,

mit 5 for-schleifen sollte das gehen... lass doch mal sehen was du schon an Code geschrieben hast.

lg,
Slainte
Mitglied: freshman2017
freshman2017 17.10.2017 um 16:58:47 Uhr
Goto Top
Ich hatte hier im Forum schon folgenden Code gefunden:


@echo off
setlocal EnableDelayedExpansion

set f=list.txt
set c=a b c d e f g h i j k l m n o p q r s t u v w x y z

>!f! type nul

for %%i in (!c!) do (
  for %%j in (!c!) do (
  >>!f! echo(%%i%%j
    for %%k in (!c!) do (
    >>!f! echo(%%i%%j%%k
    )
  )
)

Allerdings würde ich hier gerne noch Einbau als letzte Zeile wieviel möglichkeiten es sind.
Mitglied: 134464
134464 17.10.2017 aktualisiert um 17:07:25 Uhr
Goto Top
Bau einfach eine Zählervariable ein die unter jedem echo um eins erhöht wird.
Mitglied: freshman2017
freshman2017 17.10.2017 um 17:57:41 Uhr
Goto Top
Zitat von @134464:

Bau einfach eine Zählervariable ein die unter jedem echo um eins erhöht wird.

Wie könnte ich das am besten einbauen? Hast du da einen Tipp?
Mitglied: H41mSh1C0R
H41mSh1C0R 17.10.2017 um 21:02:07 Uhr
Goto Top
Mitglied: rubberman
rubberman 17.10.2017 aktualisiert um 21:12:37 Uhr
Goto Top
Sorry, aber nope face-wink Funktioniert so nicht in einer FOR Schleife. Zumindest nicht ohne verzögerte Variablenerweiterung (die in seinem obigen Code bereits überflüssig ist). Für diese Fälle gibt es den += Operator, à la
set /a n+=1

Steffen
Mitglied: freshman2017
freshman2017 17.10.2017 um 22:49:36 Uhr
Goto Top
Ich komme gerade nicht weiter. Was muss umgebaut werden, damit ich folgende Ausgabe erhalte?

A
A B
A C

Also mit Leerzeichen und keine dopplungen wie A A etc.

@echo off
setlocal EnableDelayedExpansion

set f=list.txt
set c=A B C D E

>!f! type nul

for %%i in (!c!) do (
  for %%j in (!c!) do (
  >>!f! echo(%%i%%j
    for %%k in (!c!) do (
    >>!f! echo(%%i%%j%%k
    )
  )
)

Danke.