Генератор Словаря

Тема в разделе "WASM.BEGINNERS", создана пользователем mupsy, 26 фев 2009.

  1. mupsy

    mupsy New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2008
    Сообщения:
    55
    Блин второй день пытаюсь создать генератор словарей...длина строки динамическая,тоесть массив обьявляется как char *mass=new char[длина]; функция должна создать словарь такого вида...
    А
    Б
    В
    ...
    АА
    БА
    ...
    и так далее до длины строки...Помогите пожалуйсто,я сделал что то типа такого но у меня не все комбинации перечисляются...Можно как на си так и на ассемблере,хоть на бейсике=)
     
  2. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    но это же простая рекурсия. тут даже без рекурсии можно обойтись
    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 в данном случае раскрывает рекурсию.
     
  3. mupsy

    mupsy New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2008
    Сообщения:
    55
    спасибо огромное,я помню такой алгоритм на пхп делал так там быстро сделал...а тута чето уже второй день никак...все не пооный список значений выдавала программа.