НЛ
Наталья Л.

Перебор вариантов, чисел без повтора

Ктонибудь подскажите программу или чтонить вроде, что бы она перебирала числа ну разные варианты чтобы были никакого повтора.
Например числа 12х1234х

Олечка
Олечка

генератор чисел

DA
Dilshod Abdumanopov

Нужен код или уже готовая программа? Какой язык?
Короче алгоритм следующий:
Задаем числовой массив, например размером 10.
Пишем цикл со счетчиком 10, где за каждый круг некой переменной назначаем рандомное значение, после чего проверяем нет ли нашем массиве элемента с таким значением (для удобства будет неплохо при объявлении массива задать его элементам значения, не входящие в диапазон рандомайза) . Если элемента с таким же значением нет, то добавляем в первую незанятую ячейку наше значение. (Тут расскажу подробнее: пусть, все элементы массива у нас равны 0, а диапазон рандома от 1 до 11 (у нас же всего 10 элементов) , тогда псевдокод выглядит примерно так:

пока (i-тый элемент массива неравен нулю) проверяем
___если (i-тый элемент массива равен нашей переменной (которой присвоено рандомное значение) , то
___идем в начало (туда, где присваивалось рандомное значение некой переменной)
___иначе прибавляем к i единицу

Таким образом в этом цикле пока мы не наткнемся на так сказать пустой элемент (т. е. с начальным значением) , мы будем сравнивать его с нашей переменной (которой присвоено рандомное значение)

После чего, (мы уже сравнили нашу переменную со всеми элементами и они разные) записываем в
i-тый элемент наше рандомное значение (i-тый, т. к. после каждого сравнения мы увеличивали значение i на единицу)

На С++ код примерный для виндовых компеляторов:

#include
#include
#include
using namespace std;

main()
{
const int size = 10;
int x, log[size] = {0};

srand(time(NULL));
for (int i = 0; i < 10; i++)
{
start: x = 1 + rand() % 10;
int j = 0;
while (log[j] != 0)
{
if (x == log[j])
goto start;
else
j++;
}
log = x;
cout << log << endl;
}
cout << endl;
system("PAUSE");
return 0;
}

Похожие вопросы
сколько будет вариантов для перебора из34 символов на 2000мест?
Защита программы от взлома перебором.
Делфи, вывод в мемо случайных чисел без повторов из массива. массив от 1 до 35.
помогие с подзадачей. перебор
повторите частное чисел 25 и 5 или их разность
паскаль сокращение перебора
код для полного перебора
подскажите какой нибудь алгоритм перебора всех значений
Перебор точек, с++,подскажите пожалуйста.
Что такое метод перебора?