1) В игре «Русское лото» из мешка случайным образом выбираются бочонки, на каждом из которых написано число от 1 до 90. Напишите программу, которая выводит наугад первые 5 выигрышных номеров. 2) Доработайте программу «Русское лото» так, чтобы все 5 значений гарантированно были бы разными (используйте разные диапазоны).
3) Игральный кубик бросается три раза (выпадает три случайных значения). Из этих чисел составляется целое число, программа должна найти его квадрат.
Пример:
Выпало очков:
1 2 3
Число 123
Его квадрат 15129
написать эти программы в СС++.

Lelik213 Lelik213    3   12.12.2020 04:44    195

Ответы
Kristina238485 Kristina238485  22.01.2024 11:54
Конечно, я могу помочь вам с решением данных задач. Ниже приведено пошаговое решение для каждой из них на языке C++:

1) Программа для вывода наугад первых 5 выигрышных номеров в игре "Русское лото":

```cpp
#include
#include
#include

int main() {
// Инициализация генератора случайных чисел
srand(time(0));

// Генерация и вывод наугад первых 5 выигрышных номеров
std::cout << "Первые 5 выигрышных номеров: ";
for (int i = 0; i < 5; i++) {
int number = rand() % 90 + 1;
std::cout << number << " ";
}

return 0;
}
```

Обоснование: Для генерации случайных чисел в указанном диапазоне (от 1 до 90) используется функция `rand()`, а для получения разных наборов чисел при каждом запуске программы используется функция `srand(time(0))`, которая инициализирует генератор случайных чисел текущим временем.

2) Доработанная программа для гарантированного получения 5 разных выигрышных номеров в игре "Русское лото":

```cpp
#include
#include
#include

int main() {
// Инициализация генератора случайных чисел
srand(time(0));

int numbers[90];
for (int i = 0; i < 90; i++) {
numbers[i] = i + 1;
}

// Перемешивание массива номеров
for (int i = 0; i < 90; i++) {
int j = rand() % 90;
int temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}

// Вывод наугад первых 5 выигрышных номеров
std::cout << "Первые 5 выигрышных номеров (разные): ";
for (int i = 0; i < 5; i++) {
std::cout << numbers[i] << " ";
}

return 0;
}
```

Обоснование: В этой доработанной программе мы создаем массив `numbers`, в котором храним все числа от 1 до 90. Затем мы перемешиваем этот массив, заменяя каждый элемент с другим случайным элементом. Таким образом, получаем уверенность, что первые 5 выводимых номеров будут различными.

3) Программа для нахождения квадрата числа, которое составлено из результатов трех бросков игрального кубика:

```cpp
#include
#include
#include

int main() {
// Инициализация генератора случайных чисел
srand(time(0));

// Генерация трех чисел от 1 до 6 и составление числа
int dice1 = rand() % 6 + 1;
int dice2 = rand() % 6 + 1;
int dice3 = rand() % 6 + 1;
int number = dice1 * 100 + dice2 * 10 + dice3;

// Вывод сгенерированных очков и результата
std::cout << "Выпало очков: " << dice1 << " " << dice2 << " " << dice3 << std::endl;
std::cout << "Число: " << number << std::endl;
std::cout << "Его квадрат: " << number * number << std::endl;

return 0;
}
```

Обоснование: Здесь мы используем функцию `rand()` для генерации случайных чисел от 1 до 6 (для имитации броска игрального кубика). Затем мы составляем число, объединяя эти три числа, умножаем его на себя и выводим результат.

Общий принцип решения всех задач основан на использовании генератора случайных чисел для получения случайных значений, на функциях `rand()` и `srand()`, а также на использовании базовых операций математики для формирования результатов.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Экономика