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

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


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 649
от 26.01.2007, 20:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 457, Экспертов: 65
В номере:Вопросов: 1, Ответов: 4


Вопрос № 71946: Здравствуйте эксперты!Скажите где следует вставить процедуру Randomize(),чтобы каждый раз генерировались новые значения x и y.Пробовал вставлять в main но не действует,значения выходят одни и те же.Заранее спасибо....

Вопрос № 71.946
Здравствуйте эксперты!Скажите где следует вставить процедуру Randomize(),чтобы каждый раз генерировались новые значения
x и y.Пробовал вставлять в main но не действует,значения выходят одни и те же.Заранее спасибо.

Приложение:

Отправлен: 21.01.2007, 16:49
Вопрос задал: Hunter20 (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: estiGi
Здравствуйте, Hunter20!
В программе должна быть один раз вызвана инициализация рэндома:

void main ()
{
srand (time (NULL));
x = rand ();
}
Ответ отправил: estiGi (статус: Студент)
Ответ отправлен: 21.01.2007, 17:07
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо,всё работает

Отвечает: Volodymyr
Здравствуйте, Hunter20!
Самый простой выход:
1. добавить: #include <ctime>
2. внести изменения в вашу функцию Random() (см. код ниже...)

Приложение:

---------
Проблемы иногда случаются потому, что нынешние юзеры используют вчерашние железо на завтрашних программах с послезавтрашними требованиями.

Ответ отправил: Volodymyr (статус: 2-ой класс)
Ответ отправлен: 21.01.2007, 17:50
Оценка за ответ: 3
Комментарий оценки:
В Builder 6 всё нормально работает,а в Visual C++ всё с точностью наоборот,там нет библиотеки
ctime.h и поэтому компилятор выдаёт ошибку:
error C3861: 'time': identifier not found, even with argument-dependent lookup и указывает на строку
srand (time (NULL));

Отвечает: Ross
Здравствуйте, Hunter20!

Данный код нормально компилируется в VS.NET:
#include <time.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>

void main()
{
srand(time(NULL));
int x = rand()%100;
int y = rand()%100;
printf("%d %d",x,y);
getch();
}
Ответ отправил: Ross (статус: 4-ый класс)
Ответ отправлен: 21.01.2007, 19:38
Оценка за ответ: 5

Отвечает: kool
Здравствуйте, Hunter20!
Чтобы получать разные значения нужно в качестве аргументов
выбирать разные значения - лучше текущее время.
Удачи!
Ответ отправил: kool (статус: 5-ый класс)
Ответ отправлен: 22.01.2007, 12:41
Оценка за ответ: 2


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

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

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.43 beta от 26.01.2007
Яндекс Rambler's Top100

В избранное