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

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

Войти
Регистрация
Восстановить пароль
 
Alex Z
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
#1

То работает, то не работает. Массив из случайных вещественных чисел - C++

10.10.2011, 11:35. Просмотров 1183. Ответов 8
Метки нет (Все метки)

Добрый день всем.
Я пытался сделать следующее: создать массив из вещественных чисел. Ввести туда числа случайным образом. А потом вывести их на экран. Записал так:
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
#include <conio.h> 
#include <stdio.h>
#include <time.h> //Чтобы использовать srand(time(NULL))
int main() 
{       
    int i, r;
    double array[5], d;
 
    srand(time(NULL));
 
    //rand()%N - целое случайное число из отрезка [0;(N-1)]
    //rand()%N+M - целое случайное число из отрезка [M;(N-1)+M]
        
    for (i=0; i<5; i++)
    {
        r=rand()%89901+100; //Целое случайное число из отрезка [100; 90000]
        d=r;    
        d=d/100;
        array[i]=d;
    }
 
    for (i=0; i<5; i++)
    {
        printf("%6.2f", array[i]);
        printf("\n");
    }
        
    printf("\n");           
    getch();  
    return 0; 
}
Вначале всё заработало. Потом я решил сделать массив чуть побольше и везде число 5 заменил на 53. При компиляции он выдал 2 ошибки:
error C3861: srand: идентификатор не найден
error C3861: rand: идентификатор не найден

Я ничего не пойму. Я всего лишь размер массива изменил с 5 до 53 и всё. Что случилось то? Дальше ещё. Я поменял, сделал как было, массив длины 5. Но ошибки всё равно остались. Хотя 1 минуту назад тот же самый код работал. Я вообще ничего не пойму. Подскажите кто-нибудь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2011, 11:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос То работает, то не работает. Массив из случайных вещественных чисел (C++):

Преобразовать одномерный массив вещественных случайных чисел в массив целых чисел - C++
Преобразовать одномерный массив вещественных случайных чисел в массив целых чисел больших исходных на два порядка. Напечатать массивы в два...

Дан массив вещественных случайных чисел - C++
Дан массив вещественных случайных чисел(размер массива определяет пользователь но в пределах . определить количество чисел из диапазона ...

Не работает генератор случайных чисел - C++
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; using namespace std; int main(){ int a; srand(time(0));...

Неправильно работает генератор случайных чисел - C++
Подскажите, кто разбирается, почему при генерации случайных чисел первое значение равно нулю ? #include &lt;iostream&gt; #include...

Некорректно работает вывод вещественных чисел в массиве - C++
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; void ReadArray(double a)

Как работает генерация случайных чисел в приведенном коде - C++
Дорогие Форумчане! Подскажите пожалуйста, как работает нижеследующий код для генерации случайных чисел: random=rand()%(b+1-a)+a; ...

8
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
10.10.2011, 11:37 #2
добавьте #include <stdlib.h> в начало
1
Alex Z
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
10.10.2011, 11:50  [ТС] #3
Цитата Сообщение от Net_Wanderer Посмотреть сообщение
добавьте #include <stdlib.h> в начало
Добавил. Всё заработало!
А что такое stdlib.h ? Зачем он нужен?
0
kazak
3051 / 2372 / 160
Регистрация: 11.03.2009
Сообщений: 5,437
Завершенные тесты: 1
10.10.2011, 11:56 #4
Библиотека стандартных функций, содержащая в том числе и rand().
1
Slimmy
65 / 18 / 2
Регистрация: 09.10.2010
Сообщений: 97
10.10.2011, 11:56 #5
Цитата Сообщение от Alex Z Посмотреть сообщение
Добавил. Всё заработало!
А что такое stdlib.h ? Зачем он нужен?
Да снизойдет на Вас мудрость ПедеВикии
2
Alex Z
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
10.10.2011, 12:14  [ТС] #6
Странно. А я думал, что для использования случайных чисел надо: вначале подключить:
C++
1
#include <time.h> //Чтобы использовать srand(time(NULL))
Потом написать:
C++
1
2
3
4
srand(time(NULL));
//randomize(); //Инициализация генератора случайных чисел.
//Вроде бы randomize(); это функция С, и на С++ она не пойдет. Вначале надо
//подключить библиотеку #include <time.h> а потом вместо randomize(); напиcать srand(time(NULL));
А потом уже исрользовать rand():
C++
1
rand()%3+1; //целое случайное число от 1 до 3 включительно
Вот это у меня заработало без #include <stdlib.h>
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
#include <conio.h> 
#include <time.h> //Чтобы использовать srand(time(NULL))
int main() 
{
    int i, r;
 
    srand(time(NULL));
 
    //rand()%N - целое случайное число из отрезка [0;(N-1)]
    //rand()%N+M - целое случайное число из отрезка [M;(N-1)+M]
 
    for (i=1; i<=9; i++)
    {
        r=rand()%3+1; //целое случайное число от 1 до 3 включительно
        cout<<"Slychainoe chislo "<<i<<" = "<<r<<endl;
    }
                                                               
    cout<<endl; 
    getch();  
    return 0; 
}
0
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
10.10.2011, 12:23 #7
Цитата Сообщение от Alex Z Посмотреть сообщение
Вот это у меня заработало без #include <stdlib.h>
потому что здесь вы подключили заголовок iostream который включает в себя stdlib.h
1
kazak
3051 / 2372 / 160
Регистрация: 11.03.2009
Сообщений: 5,437
Завершенные тесты: 1
10.10.2011, 12:26 #8
time.h нужен для функции time().
1
Alex Z
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
10.10.2011, 12:31  [ТС] #9
Всё понял. Спасибо всем.
0
10.10.2011, 12:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2011, 12:31
Привет! Вот еще темы с ответами:

Метод-Монте карло. Не работает генератор случайных чисел - C++
Аглоритм простой: Координаты - случайные величины. При каждой итерации проверяется пододает ли случайная точка из куба 1*1*1 в заданную...

Генератор случайных вещественных чисел, C++ - C++
Возможно кому-то пригодится. Без дополнительных библиотек, вроде сносный такой генератор. #include &lt;iostream&gt; #include &lt;cmath&gt; ...

Генерация случайных вещественных чисел в диапазоне 0..1 - C++
Какнить можно заставить rand() работать по аналогии в Паскале, т.е. выдавать числа от 0 до 1 (0,000000054, 0,743325235, 0,0052411 и...

Генератор случайных вещественных чисел в динамическом массиве - C++
Всем привет Мне нужна помощь в следующем. нужно заполнить динамический массив рандоными вещественными числами, чтобы были как с &quot;-&quot;,...


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

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

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