Реклама на сайте Advertise with us

Подскажите по С++

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 31.07.08
Сообщения: 441
Рейтинг: 416

Ссылка на сообщениеДобавлено: 24/06/09 в 18:21       Ответить с цитатойцитата 

Требуется создать последовательность из characters случайных букв/цифр взятых из списка. Вывод code должен быть типа char...

Код:

char *code;
char *possible = "23456789bcdfghjkmnpqrstvwxyz";
for (int i = 0; i < characters; i++) {
  code += possible[rand()%28];
}

Все бы хорошо, только код всегда "r" =)


Код:
   
    char *code = (char*)malloc(characters + 1);
    code[characters] = 0;
    char *pCode = code;
    char *possible = "23456789bcdfghjkmnpqrstvwxyz";
    for (int i = 0; i < characters - 1; i++) {
      *(pCode++) = possible[rand()%strlen(*possible)];
    }

invalid conversion from `char' to `const char*'

В общем совсем запутался... Спасибо.

NIN.tv

0
 

c++,php кодинг

С нами с 22.10.05
Сообщения: 1098
Рейтинг: 558

Ссылка на сообщениеДобавлено: 24/06/09 в 18:28       Ответить с цитатойцитата 

char *code=new char[characters+1];
char *possible = "23456789bcdfghjkmnpqrstvwxyz";
int possible_len=strlen(possible);

for (int i = 0; i < characters; i++) {
code[i]=possible[rand()%possible_len];
}

code[characters]=0;

5
 



С нами с 25.07.06
Сообщения: 207
Рейтинг: 229

Ссылка на сообщениеДобавлено: 25/06/09 в 08:10       Ответить с цитатойцитата 

во-первый, юзай srand() для инициализации гсч.
во-вторых, rand()%possible_len не даст дебе случайное число из нужного диапазона. см. RAND_MAX
в третьих, не уверен, что в c++ просто так можно складывать char*; где-то должен быть класс, который позволяет так делать, что-то типа перегруженной строки.

5
 



С нами с 31.07.08
Сообщения: 441
Рейтинг: 416

Ссылка на сообщениеДобавлено: 25/06/09 в 11:59       Ответить с цитатойцитата 

asgor - спасибо! работает.
Salvator - Ты прав, rand()%possible_len действительно всегда выдает один и тот же код =( Буду доделывать...

всех оценил ;)

NIN.tv

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »