Написать функцию, которая будет бесконечно запрашивать у пользователя число, и выводить в консоль случайным образом сгенерированное число, меньшее, чем указанное пользователем. Условие выхода из бесконечного цикла - ввод 0.
DeaDHeaD
у меня данная программа работает корректно! не каких отклонений я не увидел. За исключением нехватки библиотеки , ,без нее не определяет time в srand, но это зависит от IDE и компилятора.
Подбирает каждай раз рандомное число , пока оно не станет меньше чем ввел пользователь. (Отрицательные числа не вводить, т.к rand генерирует только положительные, хотя можно и подшаманить чтобы генерировал отрицательные)
1 votes Thanks 1
klientmvidio933
Хотел еще одну задачу спросить, но не накопил еще баллов((
Answers & Comments
===== С++ 17 =====
#include <iostream>
using namespace std;
int main()
{
int n = 1;
srand(time(NULL));
while (n != 0)
{
cin >> n;
if( n != 0)
{
n *= 10;
double x = (rand() % n) / 10.0;
cout << x << endl;
}
}
return 0;
}
Ответ:
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <ctime>
using namespace std;
void Function()
{
int number;
srand(time(0));
cout << "Введите число" << endl;
for (;;)
{
cin >> number;
if (number == 0)
{
break;
}
for (;;)
{
int x = rand();
if (x < number)
{
cout << x << endl;
break;
}
}
}
}
int main()
{
setlocale(LC_ALL, "Russian");
Function();
_getch();
return 0;
}
Объяснение:
Подбирает каждай раз рандомное число , пока оно не станет меньше чем ввел пользователь. (Отрицательные числа не вводить, т.к rand генерирует только положительные, хотя можно и подшаманить чтобы генерировал отрицательные)