С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.88
verena-12358
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165
#1

Генерация случайных чисел С++ - C++

30.04.2012, 23:54. Просмотров 2255. Ответов 6
Метки нет (Все метки)

сгенерировать вещественные числа от 0 до 1(например,0,1;0,2;1,0; и т.д.)
в этом случае выводит только 0 и 1:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <ctime>
void main()
{
    float r;
srand(time(NULL));
for(int i=0; i<10; i++)
 {
 r=rand()%11;
 printf("%.1f\n", r);
 }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2012, 23:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Генерация случайных чисел С++ (C++):

генерация случайных чисел - C++
Написать программу, которая должна обеспечить исчисление количества повторений заданного числа по модулю 100. Характеристика должна быть...

Генерация случайных чисел - C++
Подскажите пожалуйста правильно ли я осуществил перевод строк из С в С++, сомневаюсь С - randomize(); С++ - srand(NULL); С ...

Генерация случайных чисел - C++
Доброго времени суток ! Как генерировать случайное число например в диапазоне от 1 до 52 а потом исключить это число, и генерировать...

генерация случайных чисел - C++
полазил по форумам, понял что лучшей конструкцией для ввода случайных чисел является: srand(time(NULL)); ... int r =...

Генерация случайных чисел - C++
Мне нужно заполнить множество матриц числами 0 или 1. Для этого использую функцию rand. Но мне необходима совсем случайная...

Генерация случайных чисел - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;clocale&gt; #include &lt;time.h&gt; #include &lt;stdlib.h&gt; using namespace std; int main ()...

6
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
30.04.2012, 23:56 #2
1.0*rand()/RAND_MAX
0
verena-12358
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165
30.04.2012, 23:58  [ТС] #3
а можно прокомментировать запись? что значит RAND_MAX?
0
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
01.05.2012, 00:02 #4
Цитата Сообщение от verena-12358 Посмотреть сообщение
а можно прокомментировать запись? что значит RAND_MAX?
Максимальное целое число, которое возвращает функция rand().
0
verena-12358
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165
01.05.2012, 00:07  [ТС] #5
а как сделать в этом случае так,чтобы в файле тоже записывались числа через random(получаютя одинаковые)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#define END_TIME 1000
#define MO_1 4 
#define SKO_1 2 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
# include <conio.h>
#include<time.h>
float gaussrand(float MO, float sko)
{
    float R[6], sum=0, x;
    float r;
srand(time(NULL));
for(int j=0; j<10; j++)
 {
  r=1.0*rand()/RAND_MAX;
 printf("%.1f\n", r);
 }
    for (int i=0;i<6;i++)
        {   R[i] = r;
            sum+=R[i];
        }
     x = sqrt(2.0)*sko*(sum-3) + MO;
        return(x);
}
 
void main()
{
srand(time(NULL));
FILE *fp;
fp = fopen("./gaussrand.txt","a+");
for(int i=0;i<10;i++)
{
fprintf(fp,"%.1f\n",gaussrand(MO_1,SKO_1));
}
fclose(fp);
}
0
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
01.05.2012, 02:04 #6
Цитата Сообщение от verena-12358 Посмотреть сообщение
а как сделать в этом случае так,чтобы в файле тоже записывались числа через random(получаютя одинаковые)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
float gaussrand(float MO, float sko)
{
    float R[6], sum=0, x;
    float r;
srand(time(NULL));
for(int j=0; j<10; j++)
 {
  r=1.0*rand()/RAND_MAX;
 printf("%.1f\n", r);
 }
    for (int i=0;i<6;i++)
        {   R[i] = r;
            sum+=R[i];
        }
     x = sqrt(2.0)*sko*(sum-3) + MO;
        return(x);
}
}
В данной функции 10 раз генерируется случайное число, которое выводится на экран. А потом 6 раз прибавляется последнее сгенерированное.
0
grizlik78
Эксперт С++
1972 / 1465 / 122
Регистрация: 29.05.2011
Сообщений: 3,033
01.05.2012, 02:32 #7
А ещё не надо srand(time(NULL)) пихать в функцию генерации случайного числа. Эту конструкцию надо выполнить только один раз в начале программы (в функции main, например).
0
01.05.2012, 02:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2012, 02:32
Привет! Вот еще темы с ответами:

Генерация случайных чисел - C++
Для генерации случайных чисел использую выражение: x = rand() % 4; Библиотеку &lt;cstdlib&gt; компилятор подключать не требует (VS12). ...

Генерация случайных чисел - C++
Помогите пожалуйста с этой программой, я ни как не могу понять как ее зделать. Написать программу, которая генерирует три...

Генерация случайных чисел - C++
Здравствуйте! Мне нужно сгенерировать случайные числа, много и за секунду или быстрей. Можно ли использовать время компьютера с...

Генерация случайных чисел - C++
Здравствуйте, появилась такая проблема: при генерации случайного числа функцией rand(); мне нужно сгенерировать 5 случайных чисел, но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.