Цыкл как проверить на одинаковые значения
#6

Это конечно всё рабочие варианты, но можно словить рекурсию. Чтобы не словить рекурсию есть и такой вариант.
Минус: выделяемая память, точно не для больших диапазонов.
Плюс: отсутствие рекурсии и получение рандомного числа во всех случаях.
PHP код:
#include <a_samp>
#define InitRandomNumberArr(%0,%1) new %1[%0+1]; ReInitRandomNumberArr(%1, %0+1)
stock ReInitRandomNumberArr(rand_arr[], size sizeof(rand_arr))
{
    for(new 
sizei--;)
    {
        
rand_arr[i] = i;
    }
}
stock GetRandomNumberFromArr(rand_arr[], size sizeof(rand_arr))
{
    if(
rand_arr[--size] == 0)
    {
        return -
1;
    }
    new 
num random(rand_arr[size]);
    new 
r_num rand_arr[num];
    
rand_arr[num] = rand_arr[--rand_arr[size]];
    return 
r_num;
}
public 
OnFilterScriptInit()
{
    new 
rand_array[6];
    
InitRandomNumberArr(10tmp_arr_rand_num);
    for(new 
0sizeof(rand_array); i++)
    {
        
rand_array[i] = GetRandomNumberFromArr(tmp_arr_rand_num);
        
printf("rand_array[%d] = %d"irand_array[i]);
    }
    
    
ReInitRandomNumberArr(tmp_arr_rand_num);
    for(new 
0sizeof(rand_array); i++)
    {
        
rand_array[i] = GetRandomNumberFromArr(tmp_arr_rand_num);
        
printf("rand_array2[%d] = %d"irand_array[i]);
    }
    return 
1;

P.S. подправил код.
Reply


Messages In This Thread
Цыкл как проверить на одинаковые значения - by Bren - 08.06.2017, 19:57
Re: Цыкл как проверить на одинаковые значения - by Stepashka - 09.06.2017, 07:05
Re: Цыкл как проверить на одинаковые значения - by Bren - 09.06.2017, 12:37
Re: Цыкл как проверить на одинаковые значения - by White_116 - 09.06.2017, 13:31
Re: Цыкл как проверить на одинаковые значения - by Stepashka - 09.06.2017, 14:45
Re: Цыкл как проверить на одинаковые значения - by White_116 - 09.06.2017, 15:30
Re: Цыкл как проверить на одинаковые значения - by Stepashka - 09.06.2017, 17:06
Re: Цыкл как проверить на одинаковые значения - by White_116 - 09.06.2017, 17:29
Re: Цыкл как проверить на одинаковые значения - by Bren - 09.06.2017, 17:42
Re: Цыкл как проверить на одинаковые значения - by Stepashka - 09.06.2017, 18:05
Re: Цыкл как проверить на одинаковые значения - by Bren - 09.06.2017, 22:44
Re: Цыкл как проверить на одинаковые значения - by SoNikMells - 10.06.2017, 08:07
Re: Цыкл как проверить на одинаковые значения - by Bren - 10.06.2017, 11:08
Re: Цыкл как проверить на одинаковые значения - by White_116 - 10.06.2017, 11:08
Re: Цыкл как проверить на одинаковые значения - by Mutha_X - 10.06.2017, 11:19
Re: Цыкл как проверить на одинаковые значения - by Bren - 10.06.2017, 11:21

Forum Jump:


Users browsing this thread: 3 Guest(s)