Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Генератор рандомных чисел в заданном диапазоне в С++. Без чатГПТ

Марлей Макалей Ученик (26), открыт 2 недели назад
4 ответа
Krab Bark Искусственный Интеллект (294629) 2 недели назад
#include <iostream>
#include <random>
using namespace std;
int main(){
int a,b,n; cout<<"a b n: "; cin>>a>>b>>n;
uniform_int_distribution<> uid(a,b);
mt19937 gen{random_device()()};
for(int i=0;i<n;i++)cout<<uid(gen)<<' ';}
Рустам Абдрашитов Мыслитель (9508) 2 недели назад
на
 #include <iostream> 
#include <cstdlib>
#include <ctime>
#include <limits>
#include <string>

int getNaturalNumber(const std::string& prompt) {
int number;
while (true) {
std::cout << prompt;
std::cin >> number;

if (std::cin.fail() || number <= 0) {
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cout << "Ошибка: Пожалуйста, введите натуральное число." << std::endl;
} else {
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
return number;
}
}
}

int main() {
srand(static_cast<unsigned int>(time(0)));

while (true) {
std::string input;
std::cout << "Введите минимальное значение диапазона (натуральное число) или 'exit' для выхода: ";
std::cin >> input;

if (input == "exit") {
break;
}

int min = std::stoi(input);
if (min <= 0) {
std::cout << "Ошибка: Пожалуйста, введите натуральное число." << std::endl;
continue;
}

int max;

while (true) {
std::cout << "Введите максимальное значение диапазона (натуральное число): ";
std::cin >> input;

if (input == "exit") {
return 0;
}

max = std::stoi(input);
if (max < min) {
std::cout << "Ошибка: Максимальное значение должно быть больше или равно минимальному." << std::endl;
} else {
break;
}
}

int random_number = min + rand() % (max - min + 1);
std::cout << "Случайное число: " << random_number << std::endl;
}

return 0;
}
Николай Веселуха Высший разум (368777) 2 недели назад
 #include <iostream> 
#include <random>
#include <iomanip>

using namespace std;

class Random {
public:
Random() {
random_device device;
gen.seed(device());
}
int uniform(int first, int last) {
uniform_int_distribution<int> uid(first, last);
return uid(gen);
}
int poisson(double lambda) {
poisson_distribution<int> pd(lambda);
return pd(gen);
}
private:
mt19937 gen;
};

int main() {
Random rand;
int n = 25;
do {
auto a = rand.uniform(1, 22);
cout << setw(3) << a << '\n';
} while (--n);
}
Похожие вопросы