DOMANDA [C++] Combinazioni di un Array

Pubblicità

Fefolino

Utente Èlite
Messaggi
2,700
Reazioni
500
Punteggio
136
Ciao a tutti!
Non riesco a capire come fare in C++ questa cosa. Mi servirebbe un programmino che, dato in input un Array di N elementi, mi restituisca tutte le possibili combinazioni, per esempio
Se in input do 123 mi deve restituire
1 12 13 123 132 2 21 23 213 231 3 32 31 321 312
Vi ringrazio in anticipo :)
 
Ciao a tutti!
Non riesco a capire come fare in C++ questa cosa. Mi servirebbe un programmino che, dato in input un Array di N elementi, mi restituisca tutte le possibili combinazioni, per esempio
Se in input do 123 mi deve restituire
1 12 13 123 132 2 21 23 213 231 3 32 31 321 312
Vi ringrazio in anticipo :)
Sai cosa sono gli algoritmi i backtrackin?
 
Scusa l'OT , ma a che scopo ti serve questo esercizio didattico?
perché se è un problema che ti sei posto posso rimandarti a qualche soluzione backtrack
altrimenti bisogna studiare il problema diversamente(esempio se sei uno studente universitario)
 
Ciao a tutti!
Non riesco a capire come fare in C++ questa cosa. Mi servirebbe un programmino che, dato in input un Array di N elementi, mi restituisca tutte le possibili combinazioni, per esempio
Se in input do 123 mi deve restituire
1 12 13 123 132 2 21 23 213 231 3 32 31 321 312
Vi ringrazio in anticipo :)
Hai buttato giù del codice o non riesci proprio a fare nulla ?
 
E' un classico problema che si risolve banalmente con la ricorsione.
Se hai una cifra solo, banalmente il risultato e' lo stesso numero.
Se hai due cifre (X e Y), il risultato sono numeri XY e YX (ottenuti permutando le due cifre) piu' il risulato del caso precedente, per ogni cifra.
Se hai tre numeri...
In altre parole, scrivi una funzione che riceve come ingresso un vettore (o una stringa) che esegue il passo 1 (e esce) o il passo 2 e richiama quindi se' stessa con una stringa "accorciata".
Se ricerchi "ricorsione" con Google trovi infiniti esempi.
 
Pubblicità
Pubblicità
Indietro
Top