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

Printed on: April 19, 2024 at 21:04 o'clock

Mitglied: 134464
134464 Oct 17, 2017 updated at 14:51:38 (UTC)
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
Member: SlainteMhath
SlainteMhath Oct 17, 2017 at 14:50:04 (UTC)
Goto Top
Moin,

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

lg,
Slainte
Member: freshman2017
freshman2017 Oct 17, 2017 at 14:58:47 (UTC)
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 Oct 17, 2017 updated at 15:07:25 (UTC)
Goto Top
Bau einfach eine Zählervariable ein die unter jedem echo um eins erhöht wird.
Member: freshman2017
freshman2017 Oct 17, 2017 at 15:57:41 (UTC)
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?
Member: H41mSh1C0R
H41mSh1C0R Oct 17, 2017 at 19:02:07 (UTC)
Goto Top
Member: rubberman
rubberman Oct 17, 2017 updated at 19:12:37 (UTC)
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
Member: freshman2017
freshman2017 Oct 17, 2017 at 20:49:36 (UTC)
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.