Подскажите логику цикла...

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by z0mbyak, 29 Nov 2010.

  1. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    Доброго времени суток, мне тут потребовалось накатать программу-генератор словарей.

    Не могли бы Вы помочь мне с логикой для цикла генерации? Язык значения не имеет, мне главное логику понять:)
     
  2. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    Как-то так

    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
     
    2 people like this.
  3. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    Огромнейшее спасибо! Пошел ковырять...
     
  4. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    198
    Likes Received:
    12
    Reputations:
    1
    Логика проста, для каждой позиции символа, тебе нужно получить случайное значение и в соответствии этому значению вывести символ.
    Например ( в словах):
    У тебя есть символы А Б В.
    Ты генерируешь слово из 3 букв, берешь первую букву, через рандом получаешь например 3, пишешь В, берешь вторую букву, получаешь например снова 3, пишешь В, берешь третью букву, получаешь 1 - пишешь А.
    Вывод: "ВВА".
    При следующей генерации, твои рандомы дадут другие значения, отсюда получишь другое слово.

    Пример выше, это тоже самое - только уже на ЯП.
     
Loading...