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

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

Восстановить пароль Регистрация
 
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
03.10.2011, 21:31     Оператор печатает случайное число из опр.чисел #1
Напишите единственный оператор, который печатает случайно выбранное число из
а) 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)
Объясните это ( работает )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2011, 21:31     Оператор печатает случайное число из опр.чисел
Посмотрите здесь:

C++ Случайное число из диапазона от 0 до 1
Случайное число в диапазоне от -20 до 20 C++
Случайное число C++
Написать программу, реализует следующую игровую ситуацию: компьютер задает случайное целое число в интерали от 1 до 10, а мне нужно это число угадать C++
C++ Датчиком случайных чисел сгенерируйте случайное натуральное число в интервале от 100 до 900. Определите большую цифру полученного числа
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
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
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
03.10.2011, 21:40  [ТС]     Оператор печатает случайное число из опр.чисел #3
Напишите единственный оператор не нужно всё так усложнять )
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
03.10.2011, 21:47     Оператор печатает случайное число из опр.чисел #4
TBIKC, что сложного? он единственный, просто применен в коде несколько раз. числа в массиве, оператор генерирует индекс массива...
TBIKC
03.10.2011, 21:50  [ТС]
  #5

Не по теме:

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

Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 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;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
03.10.2011, 23:06     Оператор печатает случайное число из опр.чисел #7
TBIKC, rand() % 5 + 1 возвращает случайное число от 1 до 5. При умножении на 2 получается чётное число от 2 до 10.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
03.10.2011, 23:24     Оператор печатает случайное число из опр.чисел #8
easybudda, может удивитесь, но я запускал этот код в бесконечный цикл с условием выхода из цикла - не равно одно из значений {6, 10, 14, 18, 22}... приходилось обрывать программу принудительно. не понимаю почему и как, но оно работает... может звезды сегодня так стоят ))

Добавлено через 11 минут
сейчас опять написал проверить. туфта, конечно оно и не должно работать, и не работает. Я наверное в прошлый раз условие перепутал для проверки.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
04.10.2011, 00:13     Оператор печатает случайное число из опр.чисел #10
Цитата Сообщение от easybudda Посмотреть сообщение
А что там может не работать?
не знаю, главное чтобы голова работала ТС почему-то нестандартное решение забраковал... может так http://codepad.org/MQ66jXrr
x1Mike7x
 Аватар для x1Mike7x
214 / 127 / 6
Регистрация: 06.11.2010
Сообщений: 234
04.10.2011, 00:24     Оператор печатает случайное число из опр.чисел #11
б) 6, 10, 14, 18, 22
C
1
6 + 4 * ( rand() % 5 );
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2011, 01:02     Оператор печатает случайное число из опр.чисел
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
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
Yandex
Объявления
04.10.2011, 01:02     Оператор печатает случайное число из опр.чисел
Ответ Создать тему
Опции темы

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