Вопрос задан 20.03.2021 в 21:55. Предмет Информатика. Спрашивает Данченков Ваня.

Очень срочно!! Программы в с++ В игре «Русское лото" из мешка случайным образом выбираются

бочонки, на каждом из которых написано число от 1 до 90. Напишите программу, которая выводит наугад пер- вые 5 номеров.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Коваленко София.

Ответ:

// ConsoleApplication2.cpp : This file contains the 'main' function. Program execution begins and ends there.

//

#include <iostream>

#include <vector>

#include <random>

using std::vector;

using std::cout;

using std::random_device;

using std::mt19937;

using std::uniform_int_distribution;

using std::endl;

int main()

{

   // объявляем костанты и переменные

   const int number_of_barrels = 90;

   const int number_of_random_numbers_to_generate = 5;

   const int range_from = 0;

   const int range_to = number_of_barrels;

   random_device rand_dev;

   mt19937 generator(rand_dev());

   vector<int> barrels;

   cout << "Filling vector." << endl;

   for(int i = 0; i < number_of_barrels; i++) {

       barrels.push_back(i+1);

   }

   cout << "Getting 5 random numbers from the vector and showing it on the screen:" << endl;

   for(int i = 0; i < number_of_random_numbers_to_generate; i++) {

       uniform_int_distribution<int> distr(range_from, range_to - i);

       int randomNumber = distr(generator); // генерируем рандомное число

       int numberAt = barrels.at(randomNumber); // читаем число из вектора и иницализируем переменную numberAt этим числом

       barrels.erase(std::cbegin(barrels) + randomNumber); // удаляем это число из вектора

       cout << numberAt << " "; // выводим это число на экран.

   }

}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu

// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started:  

//   1. Use the Solution Explorer window to add/manage files

//   2. Use the Team Explorer window to connect to source control

//   3. Use the Output window to see build output and other messages

//   4. Use the Error List window to view errors

//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project

//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file

Объяснение:

В комментариях.



0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно! Вот пример программы на C++, которая случайным образом выбирает первые пять номеров из мешка с бочонками в игре "Русское лото":

cpp
#include <iostream> #include <cstdlib> // Для работы с функцией rand() #include <ctime> // Для инициализации генератора случайных чисел int main() { // Инициализация генератора случайных чисел std::srand(static_cast<unsigned int>(std::time(nullptr))); const int totalNumbers = 90; const int numbersToChoose = 5; // Создание массива с номерами от 1 до 90 int numbers[totalNumbers]; for (int i = 0; i < totalNumbers; ++i) { numbers[i] = i + 1; } // Перемешивание массива с помощью алгоритма Фишера-Йетса for (int i = totalNumbers - 1; i > 0; --i) { int j = std::rand() % (i + 1); std::swap(numbers[i], numbers[j]); } // Вывод первых пяти номеров std::cout << "Первые пять номеров: "; for (int i = 0; i < numbersToChoose; ++i) { std::cout << numbers[i] << " "; } std::cout << std::endl; return 0; }

Эта программа использует функцию std::rand() из библиотеки <cstdlib> для генерации случайных чисел. Важно инициализировать генератор случайных чисел с помощью функции std::srand() и передать ей текущее время с использованием std::time(nullptr), чтобы генератор генерировал различные случайные последовательности при каждом запуске программы.

Программа создает массив numbers и заполняет его числами от 1 до 90. Затем она перемешивает элементы массива, используя алгоритм Фишера-Йетса. Наконец, первые пять номеров выводятся на экран.

Обратите внимание, что при каждом запуске программа будет выводить разные номера.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос