Random generator dla liczb <0.0; 0.1>

Random generator dla liczb <0.0; 0.1>
ŁA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 23
0

Witam,
Mam problem ze zrobieniem generatora liczb losowych dla wartości double od 0.0 do 0.1
(czyli chce, żeby oddało mi np. wartość 0.01235)

Robiłem to w ten sposób:

Kopiuj
srand (time (NULL));
double randDouble = (double)(rand() % 0.1);

ale pojawia się błąd* invalid operands of types ‘int’ and ‘double’ to binary ‘operator%’*
domyślam się, że chodzi o to "0.1" na końcu wyrażenia, ale nie wiem, jak to poprawić, ewentualnie czy istnieje jakiś inny sposób...

Pozdrawiam

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
pingwindyktator
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1055
1
Kopiuj
long double randomm()
{
  long double a = rand();
  while(a>0.1)
    a/=10;
  return a;
}
long double randomm2()
{
  return 0.1 + (long double)rand() / RAND_MAX*(-0.1);
}
BB
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: 100lica
  • Postów: 79
0
pingwindyktator napisał(a):
Kopiuj
long double randomm()
{
  long double a = rand();
  while(a>0.1)
    a/=10;
  return a;
}

To jest genialne!! Na której uczelni uczą takich sztuczek? :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.