Поиск:

Ответ в темуСоздание новой темы Создание опроса
> rand 
:(
    Опции темы
xTr1m
Дата 13.11.2005, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 692
Регистрация: 9.2.2005
Где: Москва

Репутация: нет
Всего: 1



Не получается реализовать генерацию случайных чисел (даже от 0 жо 100) Поискал на форуме, прочитал кучу методов, но в своей проге получается генерировать числа в "свободном" диапазоне (от 0 до >30000). У себя я пишу так

библиотеки
Код

#include "stdlib.h"
#include "time.h"



Код

srand( (unsigned)time( NULL ) );
for(int q=0; q<=(l-1); q++)
      curr->row[q] = rand() % 100 + 1;


curr - Это класс, row[q] - это элемент этого класс, массив int (объявлен как : row = new int[10])
что не так?

Это сообщение отредактировал(а) xTr1m - 13.11.2005, 11:04
PM MAIL WWW ICQ   Вверх
nikitao
Дата 13.11.2005, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: нет
Всего: 26



xTr1m,этот вопрос в общие надо.
Я не понял
curr-это обьект класса(как у тебя написано) или указатель на обьект класса(как в коде написано)
Если первое ,то должно быть
Код

curr.row[q]=(rand()%100) + 1;

Вот еще скобки попробуй поставить,вдруг помогут.Да и еще что такое l в цикле for?

Это сообщение отредактировал(а) nikitao - 13.11.2005, 14:17


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
The Thing
Дата 14.11.2005, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 286
Регистрация: 6.9.2004

Репутация: 1
Всего: 3



Что-то я туплю... может засиделся!
Помню всегда писал "random() % N;"
а теперь не пойму...

random() генерит число меньше 0... примерно такое = 0,123456789
если сделать random() % 100; поидее получится 12. Но % есть остаток от деления и что? "0,123456789 % 100" есть дробная часть от 12 целых и какой-то остаток. Тьфу, что-то я.. пойду посплю.. но ответ мне напишите!


--------------------
Правильность работы программы зависит от двух велечин.
В нужном месте должны стоять нолик и еденичка.
PM MAIL   Вверх
takedo
Дата 14.11.2005, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 1.6.2005

Репутация: нет
Всего: 3



где то в коде сделать srand( (unsigned)time( NULL ) );
Код

double rnd_func(double amin, double amax)
{

/*надо типа так сделать
  double rnd;
 rnd = (rand()/RAND_MAX);//от 0 до 1
 rnd*= fabs(amax-amin);//увеличиваем на диапазон
rnd+=amin;
return rnd
*/
return (fabs(amax-amin)*(rand()/RAND_MAX)+amin);
}



--------------------
я не гольфист - я хоккеист
PM MAIL   Вверх
Caspirator
Дата 23.11.2005, 05:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 17.11.2005
Где: Украина, Киев

Репутация: нет
Всего: нет



Цитата(xTr1m @ 13.11.2005, 11:03)
Не получается реализовать генерацию случайных чисел (даже от 0 жо 100)

Не знаю, но мне почему то кажеться что у тебя в синтаксе проблема!
Я всегда писал:

int temp=0;
srand(time( NULL ) );
temp=rand()%100+1;

И всё прекрасно работало!
Пересмотри свой клас и что такое L?
PM MAIL   Вверх
threef
Дата 29.11.2005, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 27.10.2005
Где: Запорожье

Репутация: 1
Всего: 10



Цитата

Код

srand( (unsigned)time( NULL ) );
for(int q=0; q<=(l-1); q++)
      curr->row[q] = rand() % 100 + 1;




for(int q=0; q<=
(l-1) - вот это чего у тебя такое ? У меня синтаксис выбивает
; q++)

там может быть 1-1 ?
а если i-1 то проверь значение i.

А так с rand у тебя все в порядке.
Я такую формулу применяю:
rand()%( max +1 - min )+ min
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0937 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.