Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
Rvach_01
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 32
#1

Rand, которая генерирует как целые, так и дробные числа - C++

10.04.2014, 02:08. Просмотров 2128. Ответов 2
Метки нет (Все метки)

Доброго времени суток, форумчане. подскажите, пожалуйста, как нужно прописать функцию rand(), чтобы я получил и целые, и дробные элементы. Например, у меня одномерный массив из 10 элементов. Нужно его рандомно заполнить значениями от -5 до 5, включая дробные (с точностью до 0,1). То есть, фактически от -5.0 до 5.0. Как сделать интервал я разобрался, как заполнить массив целыми числами - тоже, как дробными - тоже, а как и целыми, и дробными в одном флаконе?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 02:08     Rand, которая генерирует как целые, так и дробные числа
Посмотрите здесь:

C++ Почему rand() генерирует при каждом зауске одно и то же?
Целые и дробные числа C++
C++ Написать программу,которая генерирует последовательность из 10 случайных чисел в диапазоне от 1 до 10, выводит эти числа на экран и вычисляет их средн
C++ проблема с rand, как сделать чтоб в промежутке выдавал не только целые чила
C++ Написать программу, которая генерирует последовательность из 10 случайных чисел в диапазоне от 1 до 10, выводит эти числа на экран и вычисляет их
C++ Функция, которая генерирует число в диапазоне от 0 до числа, которое передается ей в качестве параметра
C++ Дописать программу так, чтобы в массив вводились как целые числа так и вещественные
C++ rand() работает не так как нужно
C++ rand() генерирует 1 или 0
Сделать так, чтобы функция возвращала как целые, так и дробные значения C++
C++ Rand() генерирует одни и те же числа
C++ Функция rand генерирует одинаковые последовательности чисел

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BlackSpace
136 / 129 / 51
Регистрация: 15.03.2014
Сообщений: 274
10.04.2014, 02:51     Rand, которая генерирует как целые, так и дробные числа #2
Rvach_01, массив - это набор прежде всего однотипных элементов.
То есть заполнить один массив одновременно данными типа int и типа float не получится.

Можно конечно создать структуру с двумя полями и соответствующим образом ее обрабатывать. Но, уверен, это очень неподходящий вариант.

C++
1
2
3
4
struct Values{
    int iVal;
    float fVal;
};
Заполняйте дробными числами типа float или double в массиве могут встречаться и такие значения ...-1.0, 0.0, 1.0, 2.0...

Вот пример
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
#include <iostream>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
int main() {
 
    srand( time( 0 ) ); // засеять генератор псевдослучайных чисел
 
    const int size = 20; // размер массива
    double array[ size ]; // сам массив
 
    // заполнение массива
    for ( int i = 0; i < size; ++i )
        array[ i ] = ( rand() % 101 - 50 ) / 10.0;
 
    // вывод массива
    for ( int i = 0; i < size; ++i )
        cout << array[ i ] << "  ";
    cout << endl;
 
    return 0;
}
Вот результаты работы программы
1) 1.4 2.8 -1.7 -2.8 -0.4 -3.5 -1.3 -3.2 4.3 1.5 3 4 -3 4.1 -2 3.5 2.1 -1 -0.6 -0.1
2) 1 4.7 -3.9 -1.6 -0.9 0.1 -2.5 -1.2 3.1 3.8 -2.1 3.4 4.1 4.7 2.5 1.3 1.5 2.7 -4.8 0.9
3) -0.3 -3.1 0.2 2.1 -1.2 1.5 -0.2 -0.4 -3.8 0.7 3.4 -1 4 -4.1 -2.3 0.2 -0.2 1.1 2.7 4.9

Думаю Вы хотели примерно такие результаты.
Rvach_01
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 32
10.04.2014, 10:01  [ТС]     Rand, которая генерирует как целые, так и дробные числа #3
Спасибо большое!
Yandex
Объявления
10.04.2014, 10:01     Rand, которая генерирует как целые, так и дробные числа
Ответ Создать тему
Опции темы

Текущее время: 15:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru