Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Programmist5
Заблокирован
1

Массив полностью неповторяющихся значений

02.06.2017, 12:07. Просмотров 327. Ответов 8
Метки нет (Все метки)

Парни, всем здорово, а как мне завести массив полностью неповторяющихся значений. Кроме как использовать set ничего в голову не приходит. Есть какой-нибудь более элегантный способ?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2017, 12:07
Ответы с готовыми решениями:

Массив случайных неповторяющихся чисел
Ребят работал всю ночь и сейчас голова не пашет! объясните в чем проблема private: System::Void...

Массив из неповторяющихся элементов исходного массива
Рандомно задается массив. Необходимо составить массив из неповторяющихся элементов исходного...

Сформировать массив неповторяющихся элементов исходного массива
Сформировать массив из неповторяющихся элементов исходного массива. Например : Из массива A =...

Создать третий массив из неповторяющихся элементов исходных массивов
помогите плиз.. чет проблемы с массивом у меня ((( Задать два массива вещественных чисел с...

Сгенерировать массив из N неповторяющихся четных чисел в заданном диапазоне
Создать функцию, которая генерирует массив из N элементов неповторяющихся четными числами в...

8
MrGluck
Форумчанин
Эксперт CЭксперт С++
8135 / 4986 / 1436
Регистрация: 29.11.2010
Сообщений: 13,459
02.06.2017, 12:15 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <algorithm>
#include <array>
#include <iostream>
#include <numeric>
#include <random>
 
int main()
{
    std::array<int, 20> a;
    std::iota(a.begin(), a.end(), 0);
    std::shuffle(a.begin(), a.end(), std::default_random_engine(std::random_device()()));
    for (const auto x : a)
        std::cout << x << " ";
}
Как заполнить массив парами чисел от 0 до 9 случайно?
Сгенерировать неповторяющиеся числа
1
Programmist5
Заблокирован
02.06.2017, 12:21  [ТС] 3
А есть что-нибудь заточенное под С++Builder 6 2002 года?
0
MrGluck
Форумчанин
Эксперт CЭксперт С++
8135 / 4986 / 1436
Регистрация: 29.11.2010
Сообщений: 13,459
02.06.2017, 12:29 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <iostream>
 
int main()
{
    srand(time(NULL));
    const int N = 20;
    int a[N];
    for (int i = 0; i < N; i++)
        a[i] = i;
    std::random_shuffle(a, a + N);
    for (int i = 0; i < N; i++)
        std::cout << a[i] << " ";
}
Добавлено через 34 секунды
Возможно, придётся iostream заменить на iostream.h и все std:: убрать.

Добавлено через 3 минуты
Вот, кстати, ещё тема по этой проблеме:
Генерация массива целых случайных чисел, которые не повторяются
1
02.06.2017, 12:29
Programmist5
Заблокирован
02.06.2017, 13:31  [ТС] 5
О! random_shuffle точно есть! Спасибо большое!

Добавлено через 2 минуты
Хотите поделюсь опытом? Нагенерировал тут 400 рандомных чисел в диапазоне от 0 до 9800 функцией rand()%9800. И вот результат: только 3 числа повторяются по 2 раза. Ну что же, неплохо я считаю.

Добавлено через 28 минут
Кстати, Вы знаете, что
C++
1
srand(time(NULL));
- влияет на результат не очень хорошо, точнее совсем плохо. То, что я написал выше - это без srand(time(NULL)); написанного вначале программы. Если же написать это вначале программы, то результат по повторяемости элементов станет намного хуже. Вместо 3 чисел, которые повторяются по 2 раза мы имеем от 9 до 12 чисел, которые повторяются по 2 раза и 1 - 3 раза.
0
Manowar
Отава Ё.
2026 / 573 / 186
Регистрация: 12.03.2016
Сообщений: 2,159
Завершенные тесты: 1
02.06.2017, 13:39 6
Programmist5, Вам туда надо
Генератор псевдо-случайных чисел, как хэш-функция
0
Programmist5
Заблокирован
02.06.2017, 19:49  [ТС] 7
Я не настолько тупой, как ты подумал.
0
Manowar
Отава Ё.
2026 / 573 / 186
Регистрация: 12.03.2016
Сообщений: 2,159
Завершенные тесты: 1
02.06.2017, 20:17 8
Цитата Сообщение от Programmist5 Посмотреть сообщение
как ты подумал.
Я подумал, что если Вам хочется поэкспериментировать с рандомом, можете почитать эту тему. Теперь уж и не знаю что думать.
0
Mournful Max
Велосипедист...
349 / 216 / 74
Регистрация: 15.12.2015
Сообщений: 785
Завершенные тесты: 1
03.06.2017, 17:52 9
Цитата Сообщение от Programmist5 Посмотреть сообщение
влияет на результат не очень хорошо
А Вы знаете что такое seed и как работает функция rand?
0
03.06.2017, 17:52
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2017, 17:52

Получить новый массив, состоящий из неповторяющихся элементов исходного
Условие: Из произвольного одномерного массива целых чисел М1 получить массив М2, состоящий лишь...

Эксперты! Одномерный массив неповторяющихся чисел не могу понять почему криво работает
Задание: Нужно вывести массив из случайных чисел. Размер массива 8. Случайные числа от 1 до 8....

Почему не полностью выводится массив?
Массив MyY не полностью выводится. В чем может быть проблема? Заранее спасибо. const n2max=5;...


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

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

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