Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
liberty_
0 / 0 / 0
Регистрация: 05.05.2018
Сообщений: 35
1

Заполнение массива чётными случайными числами

04.11.2018, 17:41. Просмотров 788. Ответов 3
Метки нет (Все метки)

Подскажите, где и как следует написать, чтобы числа при ранодомном заполнении в заданном диапазоне были чётными.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define SIZE1 (20)
#define MIN_VAL1 (-35)
#define MAX_VAL1 (45)
#define brand1() ( rand() % ( MAX_VAL1 - MIN_VAL1 + 1 ) + MIN_VAL1 )
 
 
 
int main(void) {
    int array[SIZE1], i;
 
    for ( i = 0; i < SIZE1; ++i )
         array[i] = brand1();
 
 
    printf("Array1:\n");
    for ( i = 0; i < SIZE1; ++i )
        printf("%4d", array[i]);
    printf("\n");
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2018, 17:41
Ответы с готовыми решениями:

Заполнение массива случайными числами
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; int main(int argc, char *argv,int rand()) { int M;...

Заполнение массива случайными числами
Добрый вечер,помогите написать программу которая забивает массив рандомными числам (rand (time(0)))...

Заполнение одномерного массива случайными числами
Здравствуйте! Написала программу по заполнению одномерного массива случайными числами.......

Заполнение массива типа float случайными числами
Как заполнить массив типа float случайными числами (Си)? на функцию void random(float *A, int...

Заполнение массива случайными неповторяющимися числами в заданном диапазоне
Нужно заполнить массив целых чисел в любом диапазоне, не допуская генерации повторяющихся чисел.. ...

3
Human_foot
109 / 84 / 31
Регистрация: 27.06.2018
Сообщений: 220
04.11.2018, 18:31 2
Лучший ответ Сообщение было отмечено liberty_ как решение

Решение

Начинать с чётного
C++
1
2
3
#define MIN_VAL1 (-34)
...
#define brand1() ( rand() % ( MAX_VAL1 - MIN_VAL1 + 1 )/2*2 + MIN_VAL1 )
Ну или писать /2*2 битовыми сдвигами если хочется. Начальное чётное аналогично можно получить сдвигая биты туда-сюда (чтобы обнулить младший бит)
1
easybudda
Модератор
Эксперт CЭксперт С++
10209 / 6108 / 1536
Регистрация: 25.07.2009
Сообщений: 11,608
04.11.2018, 23:40 3
C
1
#define brand1() ( ( rand() % ( MAX_VAL1 - MIN_VAL1 + 1 ) + MIN_VAL1 ) & ~1 )
1
ValeryS
Модератор
7445 / 5637 / 716
Регистрация: 14.02.2011
Сообщений: 19,194
Завершенные тесты: 1
04.11.2018, 23:52 4
Цитата Сообщение от liberty_ Посмотреть сообщение
чтобы числа при ранодомном заполнении в заданном диапазоне были чётными.
умножить на 2
предварительно диапазон уменьшить в 2 раза
Цитата Сообщение от liberty_ Посмотреть сообщение
#define brand1() ( rand() % ( MAX_VAL1 - MIN_VAL1 + 1 ) + MIN_VAL1
C
1
#define brand1() (( rand() % (( MAX_VAL1 - MIN_VAL1 + 1 )/2) +( MIN_VAL1/2))*2)
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2018, 23:52

Заполнение матрицы случайными числами в заданном диапазоне
Необходимо заполнить матрицу случайными числами от -50 до 50. Использую rand(), но все числа...

Заполнение файла случайными числами и его последующая обработка
Добрый день! Необходима помощь в задании. &quot;Заполнить текстовый файл целыми числами, полученными с...

Заполнение массива случайными значениями
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;cstdlib&gt; int main (void) {...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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