Вопрос № 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