Блин второй день пытаюсь создать генератор словарей...длина строки динамическая,тоесть массив обьявляется как char *mass=new char[длина]; функция должна создать словарь такого вида... А Б В ... АА БА ... и так далее до длины строки...Помогите пожалуйсто,я сделал что то типа такого но у меня не все комбинации перечисляются...Можно как на си так и на ассемблере,хоть на бейсике=)
но это же простая рекурсия. тут даже без рекурсии можно обойтись i=0; for (int j=1; j<=длина; j++) { for (int k=0; k<j; k++) mass[i,k]='A'; //заполнили элемент новой длинны начальными значениями ('A' или 'AA' или 'AAA' ...) while (mass[i,j-1]<='Z') //пока последний элемент заданной длины не вышел за границы перебора { i++; mass=mass[i-1];//скопировали предыдущий элемент for (int k=0; k<j; k++)//поправим его { mass[i,k]++;// увеличиваем следующую позицию if (mass[i,k]<='Z') break; //выходим если этот индекс не переполнился (не больше Z) else //иначе if (k<j-1) //если это не последний индекс (если поправим последний, то не выйдем из while) mass[i,k]='A';// установили в исходное значение, а на следующей иттерации поправим следующий элемент } } } о длине массива и выделение под это памяти можешь позаботиться сам. тут всего лишь алгоритм. цикл while в данном случае раскрывает рекурсию.
спасибо огромное,я помню такой алгоритм на пхп делал так там быстро сделал...а тута чето уже второй день никак...все не пооный список значений выдавала программа.