Генератор случайных чисел на С++ (Dev C++) - C (СИ)
Формулировка задачи:
Подскажите пожалуйста, Мне нужно написать генератор случайных чисел, однако всегда генерируется одно и то же число.
Мне нужно, что бы генератор генерировал числа от 1, т.е. что бы была вероятность того, что выпадет 1 и что бы была вероятность того, что выпадет одно и то же число.
Программа каждый раз в результате выводит число 41...
Если что - пишу на Dev C++...
P.S. Вот в Pascal/Delphi была функция Random, а здесь есть ли какой то более простой способ?
#include <stdio.h> #include <stdlib.h> #include <conio.h> int main(void) { srand(1); int x=rand(); printf("Result = %d", x); getch(); }
Решение задачи: «Генератор случайных чисел на С++ (Dev C++)»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int x = 0; srand(time(0)); int sel; while (1) { printf("Вывод случайного числа: 1 \n"); printf("В ином случае - выход из программы \n"); scanf("%d", &sel); if (sel != 1) break; x = 1 + rand() % 500; printf("Ваше случайное число = %d \n\n", x); } printf("Программа завершена"); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со случайными числами и временем
- Объявление переменной
x
для хранения текущего значения случайного числа - Инициализация генератора случайных чисел с помощью функции
srand(time(0))
, гдеtime(0)
— текущее время в секундах - Объявление переменной
sel
для получения выбора пользователя - Запуск цикла while(1), который будет выполняться до тех пор, пока пользователь не введет значение 1
- Вывод сообщения с предложением ввести либо 1, либо другое значение для выхода из программы
- Считывание значения
sel
с помощью функцииscanf(
%d, &sel)
- Проверка значения
sel
на равенство 1. Если это условие не выполняется, то происходит выход из цикла с помощью оператораbreak
- Генерация случайного числа с помощью функции
rand()
и операции модуля%
для получения значения от 0 до 500 - Вывод сгенерированного случайного числа с помощью функции
printf(
Ваше случайное число = %d \n\n, x)
- После выхода из цикла while(1) выводится сообщение
Программа завершена
- Возврат значения 0 для успешного завершения программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д