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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
TBIKC
web dev
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
#1

Оператор печатает случайное число из опр.чисел - C++

03.10.2011, 21:31. Просмотров 789. Ответов 11
Метки нет (Все метки)

Напишите единственный оператор, который печатает случайно выбранное число из
а) 2, 4, 6, 8, 10
C++
1
cout << ( 2 + rand() % 10);
- даж не знаю как тут сделать чтобы тока чётность проверяли ( если не %2 )
б) 6, 10, 14, 18, 22
Не понимаю как задать именно диапазон от 6 до 22 с шагом в 4 единицы

Пожалуйста help

Добавлено через 2 минуты
Поиск ВесЧь - а)
C++
1
2 * (rand() % 5 + 1)
Объясните это ( работает )
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2011, 21:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Оператор печатает случайное число из опр.чисел (C++):

выбрать случайное число из трехзначных простых чисел - C++
Есть функция, вычисляющая трехзначные простые числа,. Думал,записывать их файл и оттуда считывать случайно какое-то число.И операцию,...

Сгенерировать случайное трехзначное число и вывести на экран их сумму и произведение этих чисел - C++
Сгенерировать случайное трехзначное число и вывести на экран их сумму и произведение этих чисел.

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

Написать программу, реализует следующую игровую ситуацию: компьютер задает случайное целое число в интерали от 1 до 10, а мне нужно это число угадать - C++
Написать программу, реализует следующую игровую ситуацию: компьютер задает случайное целое число в интерали от 1 до 10, а мне нужно это...

Случайное число - C++
Вот мне надо случайные числа в диапазоне 1-4 пишу for (int j=0;j&lt;10;j++){ srand(time(NULL)); int i = rand()%4+1; cout &lt;&lt; i...

Вычислить. х случайное число - C++
Вычислить. х случайное число

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alkagolik
Заблокирован
03.10.2011, 21:38 #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main(){
    int arr[] = {2, 4, 6, 8, 10}, i;
    srand(time(NULL));
    i = rand() % 5;
        printf(" %d\n", arr[i]);
    i = rand() % 5;
        printf(" %d\n", arr[i]);
    i = rand() % 5;
        printf(" %d\n", arr[i]);
    i = rand() % 5;
        printf(" %d\n", arr[i]);
    i = rand() % 5;
        printf(" %d\n", arr[i]);
    i = rand() % 5;
        printf(" %d\n", arr[i]);
    return 0;
}
консоль
8
6
2
2
6
6
0
TBIKC
web dev
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
03.10.2011, 21:40  [ТС] #3
Напишите единственный оператор не нужно всё так усложнять )
0
alkagolik
Заблокирован
03.10.2011, 21:47 #4
TBIKC, что сложного? он единственный, просто применен в коде несколько раз. числа в массиве, оператор генерирует индекс массива...
0
TBIKC
03.10.2011, 21:50  [ТС]
  #5

Не по теме:

Я тебя удивлю я до массивов ещё не дошёл )
Блин оффтоп ! Отклоняюсь от темы, на кону и обсуждению 1 пост

0
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.10.2011, 22:56 #6
Или сразу так:
C
1
2
3
4
5
6
7
int main()
{
    int arr[] = {2, 4, 6, 8, 10};
    srand(time(NULL));
    printf("%d\n", arr[rand() % 5]);
    return 0;
}
0
easybudda
Модератор
Эксперт CЭксперт С++
9622 / 5570 / 946
Регистрация: 25.07.2009
Сообщений: 10,695
03.10.2011, 23:06 #7
TBIKC, rand() % 5 + 1 возвращает случайное число от 1 до 5. При умножении на 2 получается чётное число от 2 до 10.
0
alkagolik
Заблокирован
03.10.2011, 23:24 #8
easybudda, может удивитесь, но я запускал этот код в бесконечный цикл с условием выхода из цикла - не равно одно из значений {6, 10, 14, 18, 22}... приходилось обрывать программу принудительно. не понимаю почему и как, но оно работает... может звезды сегодня так стоят ))

Добавлено через 11 минут
сейчас опять написал проверить. туфта, конечно оно и не должно работать, и не работает. Я наверное в прошлый раз условие перепутал для проверки.
0
easybudda
Модератор
Эксперт CЭксперт С++
9622 / 5570 / 946
Регистрация: 25.07.2009
Сообщений: 10,695
03.10.2011, 23:52 #9
alkagolik, и в правду удивился... А что там может не работать?
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main(void){
    int i;
    srand(time(NULL));
    for ( i = 0; i < 10; ++i )
        printf("%d\n", 2*(rand()%5+1));
 
    return 0;
}
http://codepad.org/0GdLDvy7
0
alkagolik
Заблокирован
04.10.2011, 00:13 #10
Цитата Сообщение от easybudda Посмотреть сообщение
А что там может не работать?
не знаю, главное чтобы голова работала ТС почему-то нестандартное решение забраковал... может так http://codepad.org/MQ66jXrr
0
x1Mike7x
217 / 130 / 6
Регистрация: 06.11.2010
Сообщений: 234
04.10.2011, 00:24 #11
б) 6, 10, 14, 18, 22
C
1
6 + 4 * ( rand() % 5 );
0
alkagolik
Заблокирован
04.10.2011, 01:02 #12
C
1
2
3
4 * (rand() % 5 + 2) - 2
4 * (rand() % 5 + 3) - 6
4 * (rand() % 5 + 4) - 10
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2011, 01:02
Привет! Вот еще темы с ответами:

Случайное число из диапазона от 0 до 1 - C++
Почему то на random ругается компилятор мол &quot;random: идентификатор не найден&quot; вроде и библиотеку stdlib.h подтянул. Пишу в С++ в вижуал...

Нечётное случайное число - C++
Пытаюсь разобраться с srand, кто может, объясните, пожалуйста, вот этот кусочек кода: srand(time(NULL)); if (rand() &amp; 1) step =...

Случайное четырехзначное число - C++
Каким способом лучшего всего(наиболее эффективно, с наименьшим количеством операций) сгенерировать случайное число из 4-х не повторяющихся...

Случайное число в диапазоне от -20 до 20 - C++
Помогите решить ошипку нужно что бы rand брал диапозон от -20 до 20 // lab_5_2.cpp : Defines the entry point for the console...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.10.2011, 01:02
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru