Seite 1 von 2
Alle möglichen Kombinationen von 0-9 (4 stellen)
Verfasst: Sa Dez 01, 2012 5:33 pm
von darksider3
Hey,
Ich bräuchte einen Ansatz, der mir hilft/Zeigt, wie ich alle Kombinationen von (4stellen) 0-9 ausgeben kann(Sprache ist hier egal, Ich denke da werden schleifen variablen und simple Zuweisungen gebraucht).
Als Beispiel Ausgedrückt:
Ich brauche alle Möglichen Kombinationen von 4 Stellen, 0-9, also z.b 0.1.1.2 oder 2.2.2.2
Hat da jemand einen Ansatz? Bzw. einen Vorschlag, wie man das Lösen kann?
MFG
Re: Alle möglichen Kombinationen von 0-9 (4 stellen)
Verfasst: Sa Dez 01, 2012 5:38 pm
von cloidnerux
Du hast 9 Möglichkeiten und willst alle Kombinationen ausprobieren.
Ich würde 4 schleifen verschachteln und in jeder schleife von 0-10 zählen.
In der Innersten gibst du dann die 4 Zahlen aus.
Wenn man sich aber die Möglichkeiten anschaut:
bemerkt man, dass dein Beispiel alle Dezimalzahlen von 0 bis 9999 umfasst.
Re: Alle möglichen Kombinationen von 0-9 (4 stellen)
Verfasst: Sa Dez 01, 2012 5:43 pm
von darksider3
cloidnerux hat geschrieben:[...]Du hast 9 Möglichkeiten und willst alle Kombinationen ausprobieren.
Ich würde 4 schleifen verschachteln und in jeder schleife von 0-10 zählen.
In der Innersten gibst du dann die 4 Zahlen aus.
Wenn man sich aber die Möglichkeiten anschaut:
[...]
bemerkt man, dass dein Beispiel alle Dezimalzahlen von 0 bis 9999 umfasst.
Hey,
Ja da hast du recht. Ich habe grade nur kein Bild davon, wie du das mit den 4 Schleifen meinst. Ich könnte doch genau genommen 1 Schleife schreiben, und in dieser dann immer höher zählen?
Theoretisch müsste ich doch dann nur bis 1000 die Fehlenden Nullen vor die Zahl eintragen?
Mfg
Re: Alle möglichen Kombinationen von 0-9 (4 stellen)
Verfasst: Sa Dez 01, 2012 5:50 pm
von cloidnerux
Theoretisch müsste ich doch dann nur bis 1000 die Fehlenden Nullen vor die Zahl eintragen?
Ja. Das ist das Konzept.
Mit den 4 Schleifen ist die allgemeinere Lösung, weil du auch den Fall haben könntest 4 Objekte in beliebiger Reinfolge anzuordnen:
Code: Alles auswählen
for(int a = 0; a < 10, a++)
{
for(int b = 0; b < 10, b++)
{
for(int c = 0; c < 10, c++)
{
for(int d = 0; d < 10, d++)
{
printf("%d%d%d%d", a, b, c, d);
}}}}
Re: Alle möglichen Kombinationen von 0-9 (4 stellen)
Verfasst: Sa Dez 01, 2012 6:15 pm
von darksider3
cloidnerux hat geschrieben:
Mit den 4 Schleifen ist die allgemeinere Lösung, weil du auch den Fall haben könntest 4 Objekte in beliebiger Reinfolge anzuordnen:
Code: Alles auswählen
for(int a = 0; a < 10, a++)
{
for(int b = 0; b < 10, b++)
{
for(int c = 0; c < 10, c++)
{
for(int d = 0; d < 10, d++)
{
printf("%d%d%d%d", a, b, c, d);
}}}}
Das sollte dann doch nur Zahlen wie 1111 und 2222(3333,4444,5555 usw) erzeugen , oder nicht? Sorry, ich hasse schleifen-Programmierung, finde ich unübersichtlich
Re: Alle möglichen Kombinationen von 0-9 (4 stellen)
Verfasst: Sa Dez 01, 2012 6:56 pm
von cloidnerux
Das sollte dann doch nur Zahlen wie 1111 und 2222(3333,4444,5555 usw) erzeugen , oder nicht? Sorry, ich hasse schleifen-Programmierung, finde ich unübersichtlich
Nein. Du hast 4 Unabhängige Variablen, die unabhängige Werte Produzieren. Wobei d bei jedem Durchlauf von c einmal von 0 - 9 zählt, c bei jedem durchlauf von b einmal von 0 bis 9 zählt und b einmal bei jedem Durchlauf von a von 0-9 zählt.
Re: Alle möglichen Kombinationen von 0-9 (4 stellen)
Verfasst: Sa Dez 01, 2012 7:27 pm
von darksider3
Ich habe dein Beispiel versucht zu Portieren(nach PHP) aber der gibt mir keine Zahlen. Nach C(++) hab ich auch versucht, aber konnte das nicht nachbasteln^^(Bin ja noch am lernen...^^). Könntest du das mit Includes Posten?
Edit:// Nach PHP hab ich es so Portiert(printf gibt's genauso wie in C/C++)
Code: Alles auswählen
<?php
for( $a = 0; $a < 10, $a++;)
{
for( $b = 0; $b < 10, $b++;)
{
for( $c = 0; $c < 10, $c++;)
{
for( $d = 0; $d < 10, $d++;)
{
printf("%d%d%d%d", $a, $b, $c, $d);
}}}}
?>
MFG
Re: Alle möglichen Kombinationen von 0-9 (4 stellen)
Verfasst: Sa Dez 01, 2012 10:12 pm
von nouseforname
Code: Alles auswählen
#!/usr/bin/php -q
<?php
for ($k=0;$k<10;$k++) {
for ($l=0;$l<10;$l++) {
for ($m=0;$m<10;$m++) {
for ($n=0;$n<10;$n++) {
print($k.'.'.$l .'.'.$m.'.'.$n."\n");
}
}
}
}
?>
Also das funzt bei mir einwandfrei. Du musst ja nur in jeder Schleife eine Stelle hochzählen.
Re: Alle möglichen Kombinationen von 0-9 (4 stellen)
Verfasst: So Dez 02, 2012 1:22 pm
von darksider3
Jow, jetzt Funktioniert's.
Danke

Re: Alle möglichen Kombinationen von 0-9 (4 stellen)
Verfasst: So Dez 02, 2012 1:57 pm
von nouseforname
Bei deiner Version hast DU nur den Fehler gemacht ein , statts des ; zu verwenden.
