Форум программистов, компьютерный форум CyberForum.ru

Датчиком случайных чисел сгенерируйте два натуральных числа в интервале от 10 до 90 - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Shadrigan
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 8
17.09.2013, 11:19     Датчиком случайных чисел сгенерируйте два натуральных числа в интервале от 10 до 90 #1
Помигите пожалуйста! Очень нужно решение, если можно с пояснениями.

Датчиком случайных чисел сгенерируйте два натуральных числа в интервале от 10 до 90. Меньшее из них замените средним арифметическим, а большее - средним геометрическим этих чисел.
Тест. Числа 36; 25.
Результат. 30; 30.5.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2013, 11:19     Датчиком случайных чисел сгенерируйте два натуральных числа в интервале от 10 до 90
Посмотрите здесь:

C++ Генератор случайных чисел в интервале (0;10)
Написать программу, которая вводит с клавиатуры два натуральных числа и выполняет логическое умножение и сложение этих чисел C++
Помогите написать программу с датчиком случайных чисел) C++
C++ Даны два натуральных числа a, b. Найти разность и произведение суммы цифр этих чисел
C++ Генерация дробных случайных чисел на определенным интервале
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Shadrigan
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 8
18.09.2013, 08:59  [ТС]     Датчиком случайных чисел сгенерируйте два натуральных числа в интервале от 10 до 90 #21
Пожалуйста, объясните вот этот момент

C++
1
2
3
srand(time(NULL));
    a=rand() % 80 + 10;
    b=rand() % 80 + 10;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lipnev
60 / 60 / 1
Регистрация: 14.09.2013
Сообщений: 145
18.09.2013, 09:55     Датчиком случайных чисел сгенерируйте два натуральных числа в интервале от 10 до 90 #22
По порядку
C++
1
srand(time(NULL));
Это инициализация генератора случайных чисел. Последовательность чисел не совсем случайна. То есть при каждом запуске программы будет одна и та же последовательность. Для того, чтобы сделать её совершенно случайной используют функцию time(NULL), результатом которой является текущее время, то есть если ты запустишь программу пару раз с разрывом хотя бы даже в секунду последовательность будет уже другой.
Далее.
C++
1
2
a=rand() % 80 + 10;
b=rand() % 80 + 10;
эти строки как раз и генерируют случайные числа. rand генерирует число в диапазоне от 0 до RAND_MAX (обычно равно 32767). Для того, чтобы число сгенерировать число в диапазоне от 10 до 90 нужно поделить сгенерированное число на 80, взять остаток от этого числа и прибавить 10. Так как ты делишь на 80, то остаток от деления будет лежать в диапазоне от 0 до 80. Прибавляя 10, ты получаешь нужный тебе диапазон - от 10 до 90.
StepaPair
2 / 2 / 1
Регистрация: 24.09.2013
Сообщений: 19
24.09.2013, 13:39     Датчиком случайных чисел сгенерируйте два натуральных числа в интервале от 10 до 90 #23
Цитата Сообщение от lipnev Посмотреть сообщение
Так как ты делишь на 80, то остаток от деления будет лежать в диапазоне от 0 до 80.
lipnev, у тебя тут одна неточность. Остаток будет лежать в диапозоне от 0 до 79 включительно,

а отсюда небольная неточность в коде, на самом деле надо писать a=rand() % 81 + 10; (если конечно подразумевается что рандомное число может быть равно 90)
lipnev
60 / 60 / 1
Регистрация: 14.09.2013
Сообщений: 145
24.09.2013, 13:47     Датчиком случайных чисел сгенерируйте два натуральных числа в интервале от 10 до 90 #24
StepaPair, спасибо. Что-то не подумал об этом. Действительно вместо 80 будет 0.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2013, 13:57     Датчиком случайных чисел сгенерируйте два натуральных числа в интервале от 10 до 90
Еще ссылки по теме:

C++ Датчиком случайных чисел сгенерируйте случайное натуральное число в интервале от 100 до 900. Определите большую цифру полученного числа
C++ Даны два натуральных числа. Определить сколько чисел на отрезке между ними являются факториалами
C++ Найти количество натуральных чисел в интервале от 1 до N

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.09.2013, 13:57     Датчиком случайных чисел сгенерируйте два натуральных числа в интервале от 10 до 90 #25
Цитата Сообщение от StepaPair Посмотреть сообщение
если конечно подразумевается что рандомное число может быть равно 90
Правильная оговорка.
Yandex
Объявления
24.09.2013, 13:57     Датчиком случайных чисел сгенерируйте два натуральных числа в интервале от 10 до 90
Ответ Создать тему
Опции темы

Текущее время: 04:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru