Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] rand() 09.10.01 20:37
Автор: Лamo Статус: Незарегистрированный пользователь
|
Чо то я совсем запутался с сабжем,
оно мне всё время выдаёт одни и теже числа,
Как сделать например мне нужно в диапазоне от 0 до 9,
или от 999 до 9999
Хелпми!!!
|
 |
[C++] rand() 09.10.01 21:18
Автор: + <Mikhail> Статус: Elderman Отредактировано 10.10.01 02:55 Количество правок: 1
|
> Чо то я совсем запутался с сабжем, > оно мне всё время выдаёт одни и теже числа, > Как сделать например мне нужно в диапазоне от 0 до 9, > или от 999 до 9999 > Хелпми!!!
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
srand( (unsigned)time( NULL ) );
int x, iDelta;
int iMyMin = 0;// = 999;
int iMyMax = 9;// = 9999;
iDelta = iMyMax - iMyMin;
for(int count = 0; count < 40; ++count)
{
x = rand() * iDelta / RAND_MAX + iMyMin;
printf("random = %ld\n", x);
}
---
|
 |  |
[C++] rand() 10.10.01 07:13
Автор: 191_84 Статус: Незарегистрированный пользователь
|
Зачем ты столько переменных насоздавал? Ресерсы ведь они пожирают... Вот будут программы большие и тогда он будет думать, почему все так тормознуто...
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
srand( (unsigned)time( NULL ) );
int x;
for(int counter = 0; counter <= 10; counter++) {
x = rand() % 9; // x = rand() % (9999-999) + 999;
cout << x; }
return 0; }
|
 |  |  |
[C++] На твоем бы месте я бы поучился у + 10.10.01 11:46
Автор: Cyril <sc> Статус: Member
|
> Зачем ты столько переменных насоздавал? Ресерсы ведь они > пожирают... Вот будут программы большие и тогда он будет > думать, почему все так тормознуто...
В отличие от твоего текста, текст (+) нормально читается
что более важно чем количество ресурсов пожираемое несколькими переменными, кстати ты использовал в своей программе потоки
(cout << x --- все для экономии ресурсов конечно !!!) .
> #include <stdio.h> > #include <stdlib.h> > #include <time.h> > main() > { > srand( (unsigned)time( NULL ) ); > int x; > for(int counter = 0; counter <= 10; counter++) > { > x = rand() % 9; // x = rand() % > (9999-999) + 999;
> cout << x; } > return 0; }
|
 |  |  |  |
[C++] На твоем бы месте я бы поучился у + 11.10.01 07:34
Автор: 191_84 Статус: Незарегистрированный пользователь
|
|
А представь, если прога будет большая, и в каждом таком участке он понаделает по несколько статических переменных... Вроде тут вопрос по С++ был. В нем оператор вывода cout << , printf, по-моему, в С.
|
 |  |  |  |  |
[C++] Не убедил :-( 11.10.01 12:28
Автор: Cyril <sc> Статус: Member
|
> А представь, если прога будет большая, и в каждом таком > участке он понаделает по несколько статических > переменных...
Если программа будет большая и предположим тебе захочется что-то исправить:
1) код (+) - я просто изменю значения переменных
2) твой код - я полезу в программу что-то править рискуя нарушить логику ее работы, ну и нафига мне это надо.
// кстати ggg предложил вариант который должен тебя устроить
сonst int iMyMin = 0;// = 999;
const int iMyMax = 9;// = 9999;
const int iDelta = iMyMax - iMyMin
>Вроде тут вопрос по С++ был. В нем оператор
> вывода cout << , printf, по-моему, в С.
Объясняю, ты придрался к тому что у (+) описано несколько "лишних" переменных. Сам же ты используешь cout <<, т.е. библиотеку работы потокового ввода - вывода. Так вот программа в которой вместо
printf используется cout << занимает МНОГО больше ресурсов !!!
Я в принципе не против cout, но тогда зачем докапываться до переменных
которые повышают читабельность программы. Получается (перефразируя известную пословицу) что ты видишь в чужом коде соломинку, а своем не замечаешь бревно :-)
|
 |  |  |
[C++] rand() 10.10.01 11:37
Автор: ggg <ggg> Статус: Elderman
|
как вариант:
...
const int iMyMin = 0;// = 999;
const int iMyMax = 9;// = 9999;
const int iDelta = iMyMax - iMyMin;
...
и код понятный и лишних переменных нет
|
 |  |
[C++] rand() 09.10.01 23:50
Автор: Heromantor Статус: Незарегистрированный пользователь
|
|
А низя просто x=rand()%10?
|
 |  |  |
[C++] rand() 10.10.01 02:52
Автор: + <Mikhail> Статус: Elderman
|
> А низя просто x=rand()%10?
низя!.
Boprosik vnimatelno pochitaii
|
|
|