|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Генерация массива символов |
|
C/C++ - [решено] Генерация массива символов
|
Новый участник Сообщения: 6 |
Привет.
Вообщем нужно сделать случайную генерацию имён для файлов. Символы должны браться из специального массива. Имя должно быть в виде char name[10]. char symb[] = "asdfghjkl"; // массив с символами Пробовал делать через rand(), но он похоже подходит только для int. Может есть какие-нибудь мысли как это реализовать? Спасибо. |
|
Отправлено: 04:53, 28-01-2011 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать в англ языке 26 букв. делаем rand от 1 до 26. Потом пишем функцию, возвращающую букву по выпавшему порядковому номеру. вот и все
![]() |
------- Отправлено: 07:37, 28-01-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 154
|
Профиль | Отправить PM | Цитировать Цитата Rain789:
rand()*x+y дает значение в пределах [y,x+y]. А еще обратиться к любому элементу массива можно через его порядковый номер. скажем symb[10] так почему бы не объеденить эти две идеи в такие строчки (хотя можно и одной) int i = rand()*(symb.length-1); //случайное число от 0 до длинны массива char otvet = symb[i]; |
|
Отправлено: 16:55, 28-01-2011 | #3 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать srand((unsigned)time(NULL)); char symb[] = "asdfghjkl"; char n_name[10]; unsigned int j; for (int i = 0; i < 9; i++) { j = rand()%9; n_name[i] = symb[j]; } m_Size = n_name; // присваиваем CString значение m_name для вывода в Edit Control где то ошибка.( чувство будто я в цифрах заплутал. |
Отправлено: 17:32, 28-01-2011 | #4 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Решил проблему так:
srand((unsigned)time(NULL)); char symb[10] = "asdfghjkl"; char n_name[10] = "asdfghjkl"; // присвоил n_name какое то значение, ибо по какой то причине она забивалась мусором. unsigned int j; for (int i = 0; i < 9; i++) { j = rand()%9; n_name[i] = symb[j]; } m_Size = n_name; Вроде работает. |
|
Отправлено: 18:26, 28-01-2011 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Генерация PDF на основе шаблонов | zvezda_t | Вебмастеру | 4 | 09-02-2010 14:45 | |
[решено] генерация fileinstall | morgan1991 | AutoIt | 3 | 30-03-2009 18:53 | |
[решено] Генерация комбинаций | morgan1991 | AutoIt | 13 | 29-01-2009 23:33 | |
[решено] JavaScript. Генерация html-кода. | System Failure | Вебмастеру | 3 | 20-07-2007 15:28 | |
Генерация кода <a>. Perl. | benya | Вебмастеру | 1 | 18-08-2005 19:54 |
|