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

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

Dmitrich

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


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



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

Vadik(R)

Well-known member
12.12.2007
469
0
#2
Я си не знаю, но по-моему должно выглядеть как-то так:
Код:
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

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

for(i=0; i<=25; i++)
{
a[n]=random(25);
printf("%d", array[n]);
}
 
B
#6
мне надо забить массив 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 );
}
}