MAGIA !!! Incoraggiato da Lele ho cercato di migliorare il programma ! Ora questo qui dovrebbe evitare i doppioni.codice:#include <string> #include <iostream> using namespace std; void Anagramma(string A, string B) { if (A.size() == 0) cout << B << endl; else { string Doppie; for (int i = 0; i < A.size(); i++) { char temp[2]; temp[0] = A[i]; temp[1] = '\0'; if (Doppie.find(temp, 0) == string::npos) { A.erase(i, 1); Anagramma(A, B + temp); Doppie += temp; A.insert(i, temp); } } } } int main() { string A; cin >> A; cout << endl; Anagramma(A, ""); }