Дата публикации:

Программирование на С++ см внутри.

fb0a9862



Купить или узнать подробнее


Программирование на С++ см внутри.

Вот пример реализации функции "лотерея" и цикла в функции main:

#include <iostream>
#include <cstdlib>
#include <ctime>

// Функция "лотерея"
int lottery(int& tickets) {
    int random = rand() % 100 + 1; // Генерируем случайное число от 1 до 100

    if (random <= 1) { // Вероятность выиграть джекпот 1%
        tickets += 10; // Добавляем 10 билетов
        return 100; // Возвращаем сумму выигрыша 100
    } else if (random <= 50) { // Вероятность выиграть рандомную сумму 49%
        int amount = rand() % 100 + 1; // Генерируем случайное число от 1 до 100
        return amount; // Возвращаем сумму выигрыша
    } else { // Вероятность ничего не выиграть равна 50%
        return 0; // Возвращаем сумму выигрыша 0
    }
}

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

    int tickets = 10; // Изначально 10 билетов
    int totalAmount = 0; // Общая сумма выигрыша

    while (tickets > 0) {
        int amount = lottery(tickets); // Вызываем функцию "лотерея" и получаем сумму выигрыша
        totalAmount += amount; // Прибавляем сумму выигрыша к общей сумме
        std::cout << "Сумма выигрыша: " << amount << std::endl;
        std::cout << "Общая сумма: " << totalAmount << std::endl;
        tickets--; // Уменьшаем количество билетов
    }

    return 0;
}

В этом примере используется функция rand() для генерации случайных чисел. Чтобы получить разные случайные числа при каждом запуске программы, мы инициализируем генератор случайных чисел с помощью функции srand(time(0)), используя текущее время в качестве семени.

Функция "лотерея" принимает параметр "билет" по ссылке, чтобы мы могли изменить его значение внутри функции. Внутри функции мы генерируем случайное число от 1 до 100 и на основе этого числа определяем вероятность выигрыша. Если выигрыш произошел, мы изменяем значение "билет" и возвращаем сумму выигрыша.

В функции main мы создаем переменные "билеты" и "общая сумма выигрыша". Затем мы запускаем цикл, который вызывает функцию "лотерея" и добавляет выигрыш к общей сумме, пока не закончатся билеты. В каждой итерации цикла мы выводим сумму выигрыша и общую сумму на экран.



Купить или узнать подробнее