Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 039
от 16.07.2002, 14:40

Администратор:
Имя: Коробов Н.А.
URL: Информационный ресурс
ICQ: 365124
Украина, Днепропетровск
О рассылке:
Задано вопросов: 119
Отправлено ответов: 213
Активность: 178.9 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе]


 Список экспертов, ответы которых опубликованы в данном выпуске

Gibbel
Статус: Опытный
Общий рейтинг: 109.51
URL: Страничка обо мне и моих друзьях
[Подробней >>]
Zloy
Статус: Опытный
Общий рейтинг: 105.83
URL: The полный отстой
[Подробней >>]
kvINT
Статус: Опытный
Общий рейтинг: 112.81
[Подробней >>]
 
vitya
Статус: Профессиональный
Общий рейтинг: 115.42
[Подробней >>]
Leonid
Статус: Начальный
Общий рейтинг: 109.09
[Подробней >>]
Syhpoon
Статус: Начальный
Общий рейтинг: 102.94
[Подробней >>]
 
veei
Статус: Доверительный
Общий рейтинг: 128.94
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 116. Как разместить дополнительную пару кнопок на SaveDialog?... (ответов: 1)
Вопрос № 117. Подскажите, как сгенерировать случайное число в заданном диапазоне? Функции rand() и random() вызыва... (ответов: 6)

Вопросов: 2, ответов: 7


 Вопрос № 116

Как разместить дополнительную пару кнопок на SaveDialog?



Вопрос отправлен: 12.07.2002, 15:50
Отправитель: ЗасЛанец

[Следующий вопрос >>] [Список вопросов]

Отвечает Gibbel

Доброе время суток, ЗасЛанец!
Почитай получше описание функции GetSaveFileName в MSDN - там про это очень хорошо написано... И даже примерчик есть)))

Ответ отправлен: 13.07.2002, 11:25
Отправитель: Gibbel


 Вопрос № 117

Подскажите, как сгенерировать случайное число в заданном диапазоне?
Функции rand() и random() вызываются без параметров, и я не могу задать верхний предел.



Вопрос отправлен: 13.07.2002, 14:39
Отправитель: Yoshi

[Следующий вопрос >>] [Список вопросов]

Отвечает Zloy

Добрый день, Yoshi!
Я конечно дико извиняюсь, но функция random описана так:
int random(int num) - возравращает число между 0 num-1
А rand возвращает число между 0 и константой RAND_MAX. Для получения числа между 0 и 99 нужно писать так: rand () % 100
ЛЮДИ ПОЛЬЗУЙТЕСЬ ХЕЛПОМ


Ответ отправлен: 14.07.2002, 19:49
Отправитель: Zloy


Отвечает kvINT

Здравствуйте, Yoshi!
Используй деление по модулю.
Пр: x=5+rand()%3
Будут случайные числа от 5 до 7.


Ответ отправлен: 16.07.2002, 12:35
Отправитель: kvINT


Отвечает vitya

Приветствую Вас, Yoshi!
на самом-то деле они задают верхний предел, который описан константой RAND_MAX = 32766 (примерно). Теперь если тебе нужна меньшая верхняя граница, то делай так
iRand = rand() % nHiBound;

Ответ отправлен: 15.07.2002, 09:03
Отправитель: vitya


Отвечает Leonid

Приветствую Вас, Yoshi!
Цитирую : (С Т И В С А М М И Т ЯЗЫКС В ВОПРОСАХ И ОТВЕТАХ)
«Очевидный способ
rand() % N
где N, конечно, интервал,
довольно плох, ведь поведение младших
бит во многих генераторах случайных чисел огорчает своей
неслучайностью. (См. вопрос 12.11). Лучше попробуйте нечто вроде
(int)((double)rand() / ((double)RAND_MAX + 1) * N)
Если Вам не нравится употребление чисел с плавающей точкой,
попробуйте
rand() / (RAND_MAX / N + 1)
Оба метода требуют знания RAND_MAX (согласно ANSI, RAND_MAX определен
в . Предполагается, что N много меньше RAND_MAX.»
Удачи


Ответ отправлен: 16.07.2002, 11:37
Отправитель: Leonid


Отвечает Syhpoon

О¦О+О¦Ъ-О+О¦ О¦Ъ-О¦О+Ъ¦ Ъ¦Ъ¬Ъ-О+О¦, Yoshi!
srand(time(NULL));
......
x + rand() % y;
О?О¦О¦ Ъ- О+ОTОTО+ОTО¦, О¦ y О¦О¦Ъ-Ъ-О+ОTО¦ О©Ъ-О¦О¦О¦О¦Ъ-.

Ответ отправлен: 15.07.2002, 11:44
Отправитель: Syhpoon


Отвечает veei

Добрый день, Yoshi!
Функция random, по моему вызывается как раз с параметром: random(num-1). А вот: rand(void), но чтобы задать верхний предел с использованием этой функции, пиши так num*rand(), где num - твой верхний предел.

Ответ отправлен: 16.07.2002, 02:45
Отправитель: veei



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (45)
C / C++ (32)
Perl (9)
Delphi (18)
Pascal (30)
Basic / VBA (11)
Java / JavaScript (6)
PHP (6)
MySQL / MSSQL (9)
Пользователю
Windows 95/98/Me (43)
Windows NT/2000/XP (32)
"Железо" (34)
Поиск информации (19)
Администратору
Windows NT/2000/XP (18)
Linux / Unix (16)
Юристу
Гражданское право (7)
Семейное право (3)
Трудовое право (7)
КоАП (2)

Отправить вопрос всем экспертам выбранной рассылки.




be number one Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное