Alle möglichen kombinationen im array speichern
-
hallo,
ich möchte gerne ein Array mit 0 und 1 befüllen.
dabei sollen alle möglichen kombinationen verwendet werden bis die max. Spaltenanzahl erreicht ist.bsp.:
Spaltenanzahl: 2
Zeile 1: 0 0 Zeile 2: 0 1 Zeile 3: 1 0 Zeile 4: 1 1
entsprechend so weiter, so das mir alle möglichen kombinationen angezeigt werden;
Das weiterrutschen der eins macht mir sorgen, gerade wenn ich mit einer spaltenzahl von 4 arbeite.
hat wer ne idee?
-
Du erkennst doch sicher ein Schema? Schau mal, wie sich die einzelnen Ziffern verändern. Mit einer Schleife und Modulo bringst du sicher etwas zusammen.
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
-
in der stl gibt es eine recht interessante funktion:
std::next_permutation()
ich weiß nicht ob dir das was hilft, aber schau dir mal eine doku dazu an
-
Ich verstehe nicht ganz was du machen willst.
Aber eventuell sowas?
int spalten = UserInput (); // oder eine konstante oder was auch immer int zeilen = Math.pow (2, spalten); // 2 ^ spalten weiß grade den c++ syntax ned ;) char **array = new char*[zeilen]; for (int i = 0; i < zeilen; i++) { array[i] = new char[spalten]; } for (int i = 0; i < zeilen; i++) { for (int j = 0; j < spalten; j++) { array[i][j] = ((i >> j) & 1); } } for (int i = 0; i < zeilen; i++) { delete[] array[i]; } delete[] array;
Is nur Beispielcode. Sollte demnach noch verbessert werden (std::vector, array platt klopfen, schleifen anpassen, ...)
Falls du was ganz anderes brauchst dann sind mehr Infos nötig
Keros