Witam, wie ktoś może jak skonstruaować funkcję rekurencyjną, która wypisywała, by znaki:
a,b,c,d...z, aa,ab,ac, ad..zz...aaa, aab...itd. Zrobiłem coś takiego, ale nie jestem zbyt z tego zadowolony:
string funkcja(vector<char> napis){
int x = napis.size()-1;
for(int a='a';a<='z';a++){
for(int b='a';b<='z';b++){
for(int c='a';c<='z';c++){
for(int d='a';d<='z';d++){
for(int e='a';e<='z';e++){
for(int f='a';f<='z';f++){
for(int g='a';g<='z';g++){
for(int h='a';h<='z';h++){
for(int i='a';i<='z';i++){
for(int j='a';j<='z';j++){
napis[x-9] = a;
napis[x-8] = b;
napis[x-7] = c;
napis[x-6] = d;
napis[x-5] = e;
napis[x-4] = f;
napis[x-3] = g;
napis[x-2] = h;
napis[x-1] = i;
napis[x-0] = j;
cout <<
napis[x-9] <<
napis[x-8] <<
napis[x-7] <<
napis[x-6] <<
napis[x-5] <<
napis[x-4] <<
napis[x-3] <<
napis[x-2] <<
napis[x-1] <<
napis[x-0] <<
endl;
}}}}}}}}}}
wywołanie:
vector<char> napis(10,0);
funkcja(napis);
Niestety niedość, że od samego patrzenia na to bolą oczy to jescze funkcja zaczyna liczyć od 'aaaaaaaaaa', a nie od 'a'... Ma ktoś jakieś sugestie bądz, wskazówki?