• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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 );
}
}
 
Мы в соцсетях:

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