Frage
-
Hi Leute,
ich bin noch ziemlich neu in c++ und habe auch schon ein paar kleiner Programme geschrieben und jetzt habe ich vor alle "Kombinationen" eines Wortes ausgeben zu lassen. Nehmen wir mal das Wort "Wort". Dann sollte ausgegeben werden:
Wort
Wotr
Wtro
Wtor
...
...
usw.Mir geht es daraum ob es eine " Mechanik" oder vielleicht sogar eine Funktion gibt die das erledigt. Viele Grüße!
-
sowas nennt sich permutation. guck mal bei http://www.cplusplus.com/reference/string/string/ (als datenkontainer) oder hier im forum bei http://www.c-plusplus.net/forum/178286
-
Ok thx, ich habe es mal damit versucht:
// Calculate Permutations - using STL Algorithms #include <iostream> #include <algorithm> int main() { char f[] = { 'A', 'B', 'C' }, *const fn = f + sizeof(f) / sizeof(*f); unsigned int i = 0; do { std::cout << ++i << ". Permutation: "; copy(f, fn, std::ostream_iterator<char>(std::cout, " ")); std::cout << std::endl; } while(std::next_permutation(f, fn)); return 0; }Aber dann kommt die Fehlermeldung:
`ostream_iterator' is not a member of `std'wieso geht das nicht?
-
Da fehlt noch ein Header. Google hilft dir weiter.