Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 09.04.2021
Сообщений: 8
1

Заполнить вектор с использованием рандома

17.07.2021, 22:45. Показов 886. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно заполнить вектор заданной длины используя эту программу :

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
#include <iostream>
#include <stdlib.h> 
#include <time.h> 
using namespace std;
 
double GetRandomNumberFloat(double min, double max, int precision)
{
  
  srand(time(NULL));
 
  double value;
 
  value = rand() % (int)pow(10, precision);
 
  value = min + (value / pow(10, precision)) * (max - min);
 
  return value;
}
 
void main()
{
  GetRandomNumberFloat()
  double number;
 
  srand(time(NULL));
 
  number = GetRandomNumberFloat(0, 2, 2);
  cout << "number = " << number << endl;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2021, 22:45
Ответы с готовыми решениями:

Заполнить вектор из 1000 символами из таблицы ASCII с использованием std::generate
Кому не трудно, помогите пожалуйста с задачей: Заполнить массив из 1000 элементов случайными...

Функция рандома с использованием mt19937
Здравствуйте. Начал изучать C++, помогите пожалуйста разобраться с одним вопросом. ...

Как функцией рандома заполнить массив числами от 120 до 200
Как функцией рандома заполнить массив числами от 120 до 200 с разными знаками (и положительные и...

Как заполнить вектор на вектор классов
#include &lt;iostream&gt; #include &lt;vector&gt; class Num { private: int m_num; public: Num(int...

2
Модератор
Эксперт CЭксперт С++
5174 / 2896 / 1501
Регистрация: 14.12.2018
Сообщений: 5,233
Записей в блоге: 1
18.07.2021, 00:18 2
dani99, не понял ваш код. Предлагаю вам:
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
#include <iostream>
#include <vector>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
 
vector<double> GetRandomNumberFloat(int length, double min, double max)
{
    srand(time(NULL));
    vector<double> value(length);
    for (int i = 0; i < length; i++)
        value[i] = min + (rand() * (max - min)) / RAND_MAX;
    return value;
}
 
int main()
{
    double min = -2.0, max = 2.0;
    int length = 10;
    vector<double> value = GetRandomNumberFloat(length, min, max);
 
    int precision = 3;
    cout << "Vector with length " << length << ":" << endl;
    for (int i = 0; i < length; i++)
        cout << setprecision(precision) << value[i] << "  ";
 
    return 0;
}
1
Модератор
2639 / 1751 / 920
Регистрация: 16.10.2013
Сообщений: 5,067
Записей в блоге: 14
18.07.2021, 10:58 3
Еще вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <vector>
#include <random>
#include <algorithm>
#include <iterator>
 
std::vector<double> generateRandomVector (const std::size_t size, const double min, const double max) {
    std::random_device rd; 
    std::mt19937 gen(rd());
    std::uniform_real_distribution<double> urd (min, max);
    std::vector<double> v (size); 
    std::generate(v.begin(), v.end(), [&](){ return urd(gen); });
    return v;
}
 
int main() {
    constexpr std::size_t size {10}; 
    std::vector<double> v = generateRandomVector(size, -10., 10.);
    std::copy(v.begin(), v.end(), std::ostream_iterator<double>(std::cout, " "));
    return 0;
}
1
18.07.2021, 10:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2021, 10:58
Помогаю со студенческими работами здесь

Заполнить вектор S размерности k. Задана матрица P размерности k*l. Необходимо заполнить элементы вектора значениями сумм соответствующих строк матриц
Заполнить вектор S размерности k. Задана матрица P размерности k*l. Необходимо заполнить элементы...

заполнить вектор
Заполнить вектор А размерности n по правилу: аi=| bi |, где i = 1, 2, 3, …, n; В = {bi} - вектор...

Заполнить вектор
Заполнить вектор N значениями функции z=((ctgx)^2+e^x)/(sinx)^3 ,где x меняется от 10 до 20 с...

заполнить вектор
Заполнить вектор Vn по следующему алгоритму: очередной элемент вектора равен сумме элементов...

Заполнить вектор. экспонент
Заполнить вектор ЕХ размерности 16 значениями функции ex, где Х меняется от -10 до 5 с шагом 1. ...

Заполнить вещественный вектор
Заполнить вещественный вектор a модулями комплексных чисел a (с индексом k)=cos(2k+1)-isin^2(k^2+1)...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru