Генератор случайных чисел на С++ (Dev C++) - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста, Мне нужно написать генератор случайных чисел, однако всегда генерируется одно и то же число. Мне нужно, что бы генератор генерировал числа от 1, т.е. что бы была вероятность того, что выпадет 1 и что бы была вероятность того, что выпадет одно и то же число. Программа каждый раз в результате выводит число 41... Если что - пишу на Dev C++...
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main(void)
{
    srand(1);
    int x=rand();
    printf("Result = %d", x);
    getch();
}
P.S. Вот в Pascal/Delphi была функция Random, а здесь есть ли какой то более простой способ?

Решение задачи: «Генератор случайных чисел на С++ (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;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы со случайными числами и временем
  2. Объявление переменной x для хранения текущего значения случайного числа
  3. Инициализация генератора случайных чисел с помощью функции srand(time(0)), где time(0) — текущее время в секундах
  4. Объявление переменной sel для получения выбора пользователя
  5. Запуск цикла while(1), который будет выполняться до тех пор, пока пользователь не введет значение 1
  6. Вывод сообщения с предложением ввести либо 1, либо другое значение для выхода из программы
  7. Считывание значения sel с помощью функции scanf(%d, &sel)
  8. Проверка значения sel на равенство 1. Если это условие не выполняется, то происходит выход из цикла с помощью оператора break
  9. Генерация случайного числа с помощью функции rand() и операции модуля % для получения значения от 0 до 500
  10. Вывод сгенерированного случайного числа с помощью функции printf(Ваше случайное число = %d \n\n, x)
  11. После выхода из цикла while(1) выводится сообщение Программа завершена
  12. Возврат значения 0 для успешного завершения программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы