создать вектор пар. вещественные значения точек должны быть случайными
помогите пожалуйста с заданием. создать вектор пар на 10 точек vector pair вещественные значения точек должны быть случайными из диапазона (-100,100).
Ответы (1 шт):
Автор решения: Maggot
→ Ссылка
Возьмите генератор псевдослучайных чисел - std::mt19937_64
и дистрибьюшен - std::uniform_int_distributio
Заведите вектор пар и генерируйте туда данные через метод вектора push_back
#include <iostream>
#include <cstdint>
#include <vector>
#include <random>
int GenRandomUInt(int lowB, int upperB) {
static std::random_device r_dev{};
static std::mt19937_64 mt_engine(r_dev());
static std::uniform_int_distribution<> u_int_d(lowB, upperB);
return static_cast<uint64_t>(u_int_d(mt_engine));
}
int main() {
std::vector<std::pair<int, int>> dots;
for (int i{0x0}; i < 0xA; ++i) {
dots.push_back({GenRandomUInt(-100, 100), GenRandomUInt(-100, 100)});
}
for (const auto& pair : dots) {
std::cout << "x : " << pair.first << " y : " << pair.second << std::endl;
}
return EXIT_SUCCESS;
}