Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
LightProger
40 / 40 / 15
Регистрация: 29.12.2016
Сообщений: 291
1

Как исключить повторение цифр в rand()

19.10.2017, 20:13. Просмотров 409. Ответов 2
Метки нет (Все метки)

Здравствуйте! Пишу игру, есть функция isRandom, которая заполняет массив случайными числами, как сделать, чтобы они не повторялись?

C
1
2
3
4
5
6
7
// функция заполняет массив колоды карточек, случайными числами
void isRandom(int * x, int size)
{
    srand(time(NULL));
    int i;
    for(i = 0; i < size; i++) { x[i] = 1 + rand() % size;}
}
На скриншоте вывод программы:
0
Изображения
Тип файла: png num.png (40.5 Кб, 0 просмотров)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2017, 20:13
Ответы с готовыми решениями:

Как исключить определенные числа из диапазона для функции rand()
Использую функцию rand для получения случайных значений в диапазоне от 1 до 52 int...

Как исключить повторение элементов в двумерном массиве при автоматическом заполнении
Имеется квадратная матрица размерностью M и содержащая элементы в диапазоне от 0 до 100 нужно...

Повторение чисел в rand()
Каждый раз при запуске программы b = rand() % 10; b присваивается именно значение 7.Каждый...

Исключить повторение чисел в одном ряду двойной матрицы
Есть дуэ(двоичная?) матрица. Ряды мне выдает Random(с 1-14), а колонок должно быть 6. Заполняется...

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

2
MansMI
1458 / 1166 / 551
Регистрация: 08.01.2012
Сообщений: 4,509
19.10.2017, 20:18 2
Генерация массива целых случайных чисел, которые не повторяются
1
LightProger
40 / 40 / 15
Регистрация: 29.12.2016
Сообщений: 291
19.10.2017, 20:41  [ТС] 3
MansMI, Спасибо, у себя покопался, нашел, оказывается делал уже такое.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void isRandom(int * x, int size)
{
    srand(time(NULL));
    int i, j;
    for(i = 0; i < size; i++) 
    { 
        x[i] = 1 + rand() % size;
        for(j = 0; j < size; j++)
        {
            if(i != j && x[i] == x[j]) 
            { 
                while(x[i] == x[j]) { x[i] = 1 + rand() % size; }
                                 j = -1;
            }
        }
    }
}
0
Изображения
Тип файла: png num1.png (182.0 Кб, 3 просмотров)
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2017, 20:41

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

Написать программу, которая подсчитывает СУММУ ЦИФР натурального числа. организовать повторение всей программы.
Написать программу, которая подсчитывает СУММУ ЦИФР натурального числа. организовать повторение...

Исключить из строки все символы, кроме цифр
Здравствуйте. Подскажите, пожалуйста, как исключить из строки абсолютно все символы, кроме цифр....


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

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

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