• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Randomize без повторения чисел

  • Автор темы Dmitrich
  • Дата начала
D

Dmitrich

мне надо забить массив 25-ю случайными числами от 0 до 25.
вот я его забиваю:


x=random(25);
for(j=0;j<=25;j++)
{array[j]=x; printf("%d", array[j]);}



трудность в том, чтобы эти числа не повторялись. как сделать проверку?
 
V

Vadik(R)

Я си не знаю, но по-моему должно выглядеть как-то так:
Код:
n=-1;
while (n<=25)
{x=random(25); fl=true;
for(i=0; i<=n; i++)
if (a[i]==x) {fl=false; break;};
if fl {n++;a[n]=x; printf("%d", array[n]);};
}
 
G

gamecreator

от нуля до 25ти 26 чисел.

for(i=0; i<=25; i++)
{
a[n]=random(25);
printf("%d", array[n]);
}
 
B

biz

мне надо забить массив 25-ю случайными числами от 0 до 25.
вот я его забиваю:


x=random(25);
for(j=0;j<=25;j++)
{array[j]=x; printf("%d", array[j]);}



трудность в том, чтобы эти числа не повторялись. как сделать проверку?

#include <stdio.h>

void main( void )
{
int i, j, k, present;
int array[26];
for ( i = 0; i < 26; i++ ) {
array = -1;

do {
present = 0;
k = rand() % 26;
for ( j = 0; j < i; j++ ) {
if ( array[j] == k ) present = 1;
}
} while ( present );

array = k;

printf( "%d: %d\n", i, k );
}
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!