Доброго времени суток, мне тут потребовалось накатать программу-генератор словарей. Не могли бы Вы помочь мне с логикой для цикла генерации? Язык значения не имеет, мне главное логику понять
Как-то так Code: int PassGen(int rnd) { // Создадим масив с символами которые будем использовать для генерации пароля char str[]="QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890@#$_[]();:"; return str[rnd]; } Code: for (int y=0; y < MaxPass; y++) { for(int i=0;i<MaxS;i++) { int s = double((rand()%72)); PassOut[i]= PassGen(s); // допишем в масив пасворда "конец строки" PassOut[i+1] = '\0'; } // Выводим в МЕМО сгенериный пассворд Form1->Memo1->Lines->Add(PassOut); if(CheckBox1->Checked == true) {SaveToFile(PassOut);} //Шагнем ПрогессБаром ProgressBar1->StepBy(1) ; //Form1->Button1->Caption = "Генерируем"; } в общем на проэкт, разгребай http://zalil.ru/30045306
Логика проста, для каждой позиции символа, тебе нужно получить случайное значение и в соответствии этому значению вывести символ. Например ( в словах): У тебя есть символы А Б В. Ты генерируешь слово из 3 букв, берешь первую букву, через рандом получаешь например 3, пишешь В, берешь вторую букву, получаешь например снова 3, пишешь В, берешь третью букву, получаешь 1 - пишешь А. Вывод: "ВВА". При следующей генерации, твои рандомы дадут другие значения, отсюда получишь другое слово. Пример выше, это тоже самое - только уже на ЯП.