99208
Goto Top

Kombinatorik mit Buchstaben und Zahlen

Hallo lieber Leser,

Ich habe ein Problem
brauche einen Code der mir alle Möglichkeiten von Buchstaben und Zahlen gibt z.B so
Zahl 1
Buchstabe a
alle Möglichkeiten:
1
11
a
aa
1a
a1

Output sollte in einer Textdatei sein
Programmiersprache: VBS oder Batch

Hoffe ihr wisst vlt. weiter,
Mit freundlichen Grüßen
Xpoint.x

Content-Key: 164369

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

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

Member: Biber
Biber Apr 11, 2011 at 17:05:36 (UTC)
Goto Top
Moin XPoint.x,

willkommen im Montag.


  • Wozu?
  • Geht ein Michi in deine Klasse?
  • Wieso gehören für dich die einstelligen "1" und "a"-Werte zu den Kombinationen?
  • Glaubst du im Ernst, du würdest hier über eine Forumssuche nach "Kombinatorik+Batch" eine Lösung finden?
  • Welche eigenen Versuche hast du schon unternommen, dich mit der Thematik auseinanderzusetzen?

Grüße
Biber aka der in sich Ruhende
Mitglied: 99208
99208 Apr 11, 2011 at 17:12:40 (UTC)
Goto Top
hallo Biber
brauche das für die Schule
Mit dieser Thematik habe ich mich noch nicht all so viele auseinandergesetzt außer eben in der Schule.
Die einstelligen "1" und "a" sollen deshalb dazu gehören, da eben alle Möglichkeiten dargestellt werden sollen.
Grüße
XPoint.x
Member: Biber
Biber Apr 11, 2011 at 17:17:31 (UTC)
Goto Top
Moin Xpoint.x,

wie würdest du du den das strukturierte Vorgehen Schritt für Schritt mit Worten beschreiben,
wenn du eine vollständige Liste dieser Kombinationen ohne Doppelte und ohne Lücken auf Papier malen müsstest?

Die einstelligen "1" und "a" sollen deshalb dazu gehören, da eben alle Möglichkeiten dargestellt werden sollen.
So? Eine "1" ist eine Kombination aus "1" und "a"??? Hätte ich jetzt nicht so erkannt...
Ist denn dann nicht " " (zwei Leerzeichen) auch eine gültige?

Grüße
Biber
Mitglied: 99208
99208 Apr 11, 2011 at 17:24:06 (UTC)
Goto Top
Mitglied: 99208
99208 Apr 11, 2011 at 17:29:50 (UTC)
Goto Top
Hallo Biber,

Ich weiß jetzt gerade nicht wie du das meinst, jedoch hat man eben eine 1 und ein a
die Anzahl der beiden ist 2
weshalb auch 11 und aa
allerdings will ich alle Möglichkeiten, weshalb das Ergebnis
sein soll
1
11
a
aa
1a
a1
Also jede Verbindung zu a und 1, jedoch die Einstelligen auch
Member: Biber
Biber Apr 11, 2011 at 17:35:16 (UTC)
Goto Top
Moin Xpoint.x,

das wäre, wenn du mal einen CMD-Prompt aufmachst (Batch/VBS lässt mich irgendwie Windows annehmen) dieses Vorgehen:

Das führende ">" nicht mit eingeben - issich mein Prompt]
#der erste proof-of-concept#
>for %i in (" ","1","a" ) do @echo 1%~i
1
11
1a

#und nu' ein bischen mutiger...zwei hintereinander..
>(for %i in (" ","1","a" ) do @echo 1%~i) & for %j in (" ", "1", "a") do @echo a%~j
1
11
1a
a
a1
aa

So, jetzt wieder du: was geht da ab?
Hint: Eine einfache FOR-Anweisung [FOR %i IN (ein paar elemente) DO...] macht nacheinander immer das Gleiche mit allen Elementen in der Klammer.

Grüße
Biber
Mitglied: 99208
99208 Apr 11, 2011 at 17:37:58 (UTC)
Goto Top
hallo Biber,

klappt super
Vielen dank
Grüße

XPoint.x
Member: Biber
Biber Apr 11, 2011 at 17:48:21 (UTC)
Goto Top
Hey, hey,

jezz' aber nicht einfach zu GZSZ umschalten... du sollst ja nicht die Lösung kopieren, sondern das Vorgehen verstehen.
Sonst hilft es dir ja nicht über den Sommer.

Aus meiner Sicht ist die Anforderung "auch die einstelligen" absoluter Quark (des Lehrers in diesem Fall).

Wenn das tatsächlich sauber (und nicht wie mir getürkt) hergeleitet werden würde dann wäre das Gesamtergebnis

  • das Teilergebnis der Anzeige aller Elemente einer FOR-Klammer mit dem Inhalt ( 1, a )
  • plus das Teilergebnis der Anzeige aller zweistelligen Werte aus den Elementen (1, a) mit vorangestellter 1
  • plus das Teilergebnis der Anzeige aller zweistelligen Werte aus den Elementen (1, a) mit vorangestelltem a

Und das könntest du jetzt mal bitte nachkaspern.

Hint: also DREI FOR-Anweisungen statt zwei zusammengelogene wie bei mir.


Grüße
Biber
Mitglied: 99208
99208 Apr 11, 2011 at 17:58:36 (UTC)
Goto Top
hallo Biber,
ich denk ich hab das so jetzt verstanden nur noch eine Frage
(for %i in (" ","1","a" ) do @echo 1%~i) & for %j in (" ", "1", "a") do @echo a%~j
wie müsste das ganze Aussehen wen ich noch mehr Zeichen haben wollen würde bzw. mehr Stellen
denn jetzt bekommt man 2 stellen immer raus.
und das ganze müsste Output in ein Textdokument gebracht werden.

MIt freundlichen Grüßen,
Xpoint.x
Mitglied: 99208
99208 Apr 11, 2011 at 18:05:04 (UTC)
Goto Top
die Aufgabenstellung war nämlich so, dass man alle Möglichkeiten raus bekommen sollen wenn man zum beispiel die Buchstaben
abcd und die zahl 1 = das wir dann alle daraus formbaren Möglichkeiten gestalten sollen .
Und das für jede Anzahl und jedes Zeichen
Bei deinem Code z.B


grüße Xpoint.x
Member: Biber
Biber Apr 11, 2011 at 18:05:46 (UTC)
Goto Top
Moin Xpoint.x,

Lies noch mal meinen vorigen Kommentar.
Ich habe zwar das "richtige" Ergebnis erzeugt, aber halt geschwindelt dabei... der Algorithmus ist getürkt.
So in etwa, wie wir früher das Kürzen in der Bruchrechnung geübt haben.... 16/64? Da kürz ich die "6" raus und habe 1/4...okay.

Die richtigen drei Einzelschritte habe ich beschrieben.
Mach die mal nacheinander am CMD und poste das Ergebnis - Immer nur ein FOR pro Schritt.
Und diese Tilde (~) und Anführungszeichen brauchst du nicht.

Danach braten wir das auch in eine Datei, versprochen.

Grüße
Biber
Mitglied: 99208
99208 Apr 11, 2011 at 18:18:57 (UTC)
Goto Top
hallo
also hab alles mal eingeben


(for %i in (" ","1","a" ) do @echo 1%~i
1
11
1a

(for %i in ("1","1","a" ) do @echo 1%~i)
11
11
1a

(for %i in ("a","1","a" ) do @echo 1%~i)
1a
11
1a

das erste hat eig. gepasst
Mein Lehrer wollte es eben so das wenn er die Buchstaben abcd und die Zahlen 123 vorgibt das ich daraus alle denkbaren Möglichkeiten erzeuge.

Grüße XPoint.x
Member: Biber
Biber Apr 11, 2011, updated at Oct 18, 2012 at 16:46:27 (UTC)
Goto Top
Moin Xpoint.x,

na, noch ein wenig zuviel des Guten.

Gemeint warden drei FOR-Anweisungen ohne Tilde und Anführungszeichen (und ohne Doppeltnennungen)
# die einstelligen.... 
>for %i in (1,a) do @echo %i
1
a

# die mit "1" beginnenden....
>for %i in (1,a) do @echo 1%i
11
1a

# die mit "a" beginnenden....
>for %i in (1,a) do @echo a%i
a1
aa


#Und nun alle drei Teilergebnisse zusammen... linksrum
>for %i in (1,a) do @(echo %i) & (echo a%i) & echo 1%i
1
a1
11
a
aa
1a

# oder rechtsrum...Ergebnis bleibt in Summe gleich
>for %i in (1,a) do @(echo %i) & (echo 1%i) & echo a%i
1
11
a1
a
1a
aa

Wenn du den ganzen Rummel in eine Textdatei speichern willst statt auf den Bildschirm zu tackern, dann
  • die gesamte Anweisung in Klammern setzen
  • und danach "umleiten" in eine Datei mit ">D:\ein\ziel.txt" (in ein existierendes Verzeichnis).

Was ich hier mit zwei Elementen (1, a) gemacht habe, das hat dein Banknachbar @98641 schon am Wochenende abgedölmert.
Gibt einfach mal oben rechts in die Forumssuche "Kombinatorik+Batch" ein, lies den Krams durch, danach treffen wir uns hier.

Und dann können wir mal mit mehr Elementen spielen, falls du noch nicht ins Bett musst.

Grüße
Biber
Mitglied: 99208
99208 Apr 11, 2011 at 18:46:30 (UTC)
Goto Top
Ok vielen dank
also ich les mir das jetzt mal durch kann jedoch nicht versprechen, dass ich nachher noch da bin.
Spätestens Morgen hörst du dann wieder was von mir.

Gruß
XPoint.x
Member: Biber
Biber Apr 11, 2011 at 18:50:06 (UTC)
Goto Top
Okay, Xpoint.x,

ich werde da sein.

Grüße
Biber
Mitglied: 99208
99208 Apr 11, 2011 at 18:56:22 (UTC)
Goto Top
Ok das hab ich soweit verstanden.
Nur wenn ich jetzt z.b
for %i in (a,b,c) do @(echo %i) & (echo 1%i) & echo a%i
dann bekomme ich:
a
1a
aa
b
1b
ab
c
1c
ac

wie bekomme ich das nun so hin das ich hier alle möglichkeiten bekomme.
Also das es über die Anzahl 2 geht und das jeder Buchstabe mit jedem genommen wird
wie in dem text Kombinatorik+Batch
als da raus gekommen ist
1
11
111
112
113
12
121
122
123
13
131
132
133
2
21
211
212
213
22
221
222
223
23
231
232
233
3
31
311
312
313
32
321
322
323
33
331
332
333
als er 123 zu verfügung hat. So würde ich das auch haben wollen nur das 1=a ist und 2=b und 3=c
Hoffe du weißt wie ich das meine

Mfg Xpoint.x
Member: Biber
Biber Apr 11, 2011 at 19:02:45 (UTC)
Goto Top
Moin XPoint.x,

klar weiss ich, wie du es meinst.
Aber da es offensichtlich bis morgen Zeit hat mit der Fertigstellung.... ein bisschen sollst du auch deine Stirn in Falten ziehen.

knobel mal ein bisschen.

(Im Notfall findest du hier Hilfe... aber hey: Noch ist es kein Notfall).

Versuch's zu knacken.

Viel Glück
Biber
Mitglied: 99208
99208 Apr 11, 2011 at 19:12:49 (UTC)
Goto Top
Ok bin schon dabei
wenn ich nicht weiter weiß frag ich dich
Gruß XPoint.x
Mitglied: 99208
99208 Apr 11, 2011 at 19:19:09 (UTC)
Goto Top
hallo Biber,

Habs geschafft war ja garnicht so schwer :D

@for %1 in (a,b,c) do @(echo %1) & @for %2 in (a,b,c) do @(echo %1%2) & @for %3 in (,b,c) do @echo %1%2%3

Mit freundlichen Grüßen,
XPoint.x
Member: Biber
Biber Apr 11, 2011 at 19:26:00 (UTC)
Goto Top
Super, Xpoint.x,

hat mir genauso viel Spass gemacht wie dir hoffentlich.
Setz bitte noch einen Grünen Haken an den Beitrag (das kriegst du auch raus, wie das geht) ,
dann geb ich dir den Rest des Abends frei.

Grüße & Danke für den netten Thread
Biber
Member: brammer
brammer Apr 12, 2011 at 06:19:37 (UTC)
Goto Top
Hallo,

ich bin fasziniert!
Es gibt wirklich noch Frischlinge im Forum die bereit sind sich mit einer Materie zu beschäftigen und mitarbeiten.
Und, so wie es scheint, auch noch was dabei lernen.

Kompliment an den Thread Owner und unser Nagetier für die unermüdliche Geduld.

brammer