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

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

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

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

10.04.2014, 02:08. Просмотров 2788. Ответов 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++):

Сделать так, чтобы функция возвращала как целые, так и дробные значения - C++
Задача: нужно найти среднее арифметическое чисел в одномерном массиве разных типов. В main() у пользователя спрашивается размер...

Rand() генерирует одни и те же числа - C++
0100010010101010100011111101010101000010 щучу :p Всем привет, не найдя на форуме ответа, решил сделать тему, удалю как получу ответ...

Целые и дробные числа - C++
на языке С как делить и умножать целое число и дробное. например 2 * 3,5 . и 2/3,5. интересует именно запись в обьявлении...

Дописать программу так, чтобы в массив вводились как целые числа так и вещественные - C++
помогите дописать программу так чтобы в массив вводились как целые числа так и вещественные #include <stdio.h> #include <stdlib.h> ...

rand() генерирует 1 или 0 - C++
Доброго времени суток! Помогите, пожалуйста, нужно представить rand() так, что бы она выводила только значения 1 или 0. Можете на...

Функция rand генерирует одинаковые последовательности чисел - C++
Всем привет, возникла проблема при написании генератора паролей. Суть - этот великий рандомайзер пишет одно и тоже(написал длину пароля...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BlackSpace
137 / 130 / 52
Регистрация: 15.03.2014
Сообщений: 277
10.04.2014, 02:51 #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  [ТС] #3
Спасибо большое!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2014, 10:01
Привет! Вот еще темы с ответами:

Почему rand() генерирует при каждом зауске одно и то же? - C++
народ помогите найти хороший генератор челых чисел. т.к rand() с &lt;stdlib.h&gt; генерирует постоянные последовательности чисел. к примеру: ...

проблема с rand, как сделать чтоб в промежутке выдавал не только целые чила - C++
Задача такая, если у задается произвольно на промежутке (0,1) то в зависимости от того какое значение она получает, в зависимости от него...

Функция, которая генерирует число в диапазоне от 0 до числа, которое передается ей в качестве параметра - C++
Написать функцию, которая генерирует одно случайное число в диапазоне от 0 до числа, которое передается ей в качестве параметра. Вызвать...

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


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

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

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