Also ich brauche einen Algorithmus der mir alle moeglichen Kombinationen bis zu einem bestimmten Wert liefert!
z.B. Der max Wert soll 11 sein und array mit Werten {4, 3, 5} soll folgendes liefern:
4, 4, 3
4, 3, 3
3, 4, 4
3, 3, 5
3, 3, 3
3, 4, 3
5, 4
5, 3, 3
(Hoff ich hab alle)
Also bisher hab ich sowas:
Alles anzeigen
Leider funktioniert der nicht richtig weis vlt wer ne Loesung??
z.B. Der max Wert soll 11 sein und array mit Werten {4, 3, 5} soll folgendes liefern:
4, 4, 3
4, 3, 3
3, 4, 4
3, 3, 5
3, 3, 3
3, 4, 3
5, 4
5, 3, 3
(Hoff ich hab alle)
Also bisher hab ich sowas:
Quellcode
- int arr[4] = {2, 1, 6, 3};
- int value = 0;
- int tmpV = 0;
- for (int i=0; i<c; i++) {
- value += arr[i];
- tmpV = value;
- std::cout << arr[i] << " " << arr[i] << " ";
- for (int k=0; k<c; k++) {
- if ((value + arr[k]) <= summationsLength) {
- value += arr[k];
- tmpV = value;
- std::cout << arr[k] << " " << arr[k] << " ";
- }
- for (int j=k; j<c; j++) {
- if ((value + arr[j]) <= summationsLength) {
- value += arr[j];
- std::cout << arr[j] << " " << arr[j] << " ";
- }
- }
- value = tmpV;
- }
- value = 0;
- std::cout << std::endl;
- }
Leider funktioniert der nicht richtig weis vlt wer ne Loesung??