реклама на сайте
подробности

 
 
> Изучаю С, короткий и простой вопрос по коду, разбираюсь с ф-й rand
Метценгерштейн
сообщение Sep 6 2008, 20:27
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



#include <stdlib.h>

int main (void) {

int n;
n =rand ();

printf("%8X", n);
printf("\n");
system("pause");

};

компилятор DEV++

Как я понял, ф-я rand- библиотечная, наверное, в этом инклуде и есть. т.е. я её просто вызываю с / или без параметров и получаю значение, потом его печатаю. Но, почему- то постоянно число 23 ??? Никакой случайности...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SysRq
сообщение Sep 6 2008, 20:42
Сообщение #2


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата
Use the srand function to seed the pseudorandom-number generator before calling rand.

Код
// crt_rand.c
// This program seeds the random-number generator
// with the time, then displays 10 random integers.
//

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int main( void )
{
   int i;
  
   // Seed the random-number generator with current time so that
   // the numbers will be different every time we run.
   //
   srand( (unsigned)time( NULL ) );

   // Display 10 numbers.
   for( i = 0;   i < 10;i++ )
      printf( "  %6d\n", rand() );

  printf("\n");

  // Usually, you will want to generate a number in a specific range,
  // such as 0 to 100, like this:
  {
     int RANGE_MIN = 0;
     int RANGE_MAX = 100;
     for (i = 0;    i < 10; i++ )
      {
         int rand100 = (((double) rand() /
                         (double) RAND_MAX) * RANGE_MAX + RANGE_MIN);
         printf( "  %6d\n", rand100);
      }
  }
}

© MSDN

Сообщение отредактировал SysRq - Sep 6 2008, 20:44
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 14:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01314 секунд с 7
ELECTRONIX ©2004-2016