Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 1405
Благодарности: 135

Профиль | Отправить PM | Цитировать


Тогда обращайтесь по указателю
Код: Выделить весь код
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void default_optionsFunction(int* password_lenght, int* number_of_passwords, char **password_generation)
{
srand(time(NULL));
*password_lenght=10; // Длина пароля
*number_of_passwords=1; // Количество паролей 
const int lower_case=1;  // Подключение нижнего регистра 
const int capital_letters=1;  // Подключение верхнего регистра  
int symbolType=NULL;   // Тип символов  
int variants_of_symbols = (*password_lenght)/(lower_case + capital_letters);  // Формула вычисления количества используемых символов каждого типа // Выделение памяти для паролей
int result=NULL; // Переменная (генерация необходимого количества паролей) 
int symbol=NULL; // Переменная (индекс символа)
password_generation = (char **)malloc((*number_of_passwords)*sizeof(char *));
for (result=0; result < (*number_of_passwords); result++)
{ 
password_generation[result] = (char*)malloc((*password_lenght)*sizeof(char));   
}      
  // Генерация паролей  
  result=0;  
  while (result < (*number_of_passwords))  
  {     
   int lower_caseType=0;
        // Переменная (необходима для границ генерации символов нижнего регистра)  
      int capital_lettersType=0;  
  // Переменная (необходима для границ генерации символов верхнего регистра)    
            for (symbol=0; symbol < (*password_lenght);    )  
      {  
          if (symbol == (*password_lenght))  
          {  
              password_generation[result][symbol] = '\0';  
              break;            }  
                      symbolType = rand()%2+1;  
                          // Заполнение пароля нижним регистром 
           if (symbolType == 1)  
          {     
           if (lower_caseType > variants_of_symbols)   continue;     
           if (lower_caseType < variants_of_symbols)    
            {  
                  password_generation[result][symbol] = rand()%26+97;   
                 lower_caseType++;        
            symbol++;               
 }            }          
              // Заполнение пароля верхним регистром 
           if (symbolType == 2) 
           {           
     if (capital_lettersType > variants_of_symbols) 
   continue;     
           if (capital_lettersType < variants_of_symbols)  
              {          
          password_generation[result][symbol] = rand()%26+65;   
                 capital_lettersType++;          
          symbol++;         
       }        
    }   
     }   
     puts(password_generation[result]); 
       result++; 
           }  
      return;
}

int main()
{
    int a=10, b=1;
    char **c;  
      default_optionsFunction(&a, &b, c);
        return 0;
}

-------
Ehhh.. what's up, doc?..

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:26, 10-04-2016 | #4