Ho scritto velocemente questo cod:

#include <iostream.h>

const int N = 5;

void main () {
char c[N] = {'a', 'b', 'c', 'd', 'e'};
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
for (int z = 0; z < N; z++) {
for (int x = 0; x < N; x++) {
for (int y = 0; y < N; y++) {
cout << c[i] << c[j] << c[z] << c[x] << c[y] << endl;
}
}
}
}
}
}

Fa quello che dici, ho inizializzato i 5 caratteri dandogli a b c d e e se lo compili e lo esegui stampa tutte le combinazioni possibili bye! :metallica