• 07-10-2022, 23:38:08
    #1
    merhaba, 15 elemanlı bir dizim var, bu dizinin ilk iki elamanını normal sırasına göre göstermek, diğer 13 elemanı random sıralamak istiyorum.

    bunu tek foreach döngüsünde yapabilir miyim?
  • 08-10-2022, 00:29:33
    #2
    ben bunu kullanıyorum. işe yarar

    public static void Shuffle<T>(this IList<T> list)
    { RNGCryptoServiceProvider provider = new RNGCryptoServiceProvider();    int n = list.Count;    while (n > 1)    {        byte[] box = new byte[1];        do provider.GetBytes(box);        while (!(box[0] < n * (Byte.MaxValue / n)));        int k = (box[0] % n);        n--;        T value = list[k];        list[k] = list[n];        list[n] = value;    } }
  • 08-10-2022, 00:54:05
    #3
    Ben direk çözümü yazayım kendine has fonksiyon yazarak bunu çözebilirsin. Buyur çözüm




    Kod

    <?php
    function customArray(array $array):array {
      $ilk_iki_eleman = [
      $array[0],
      $array[1],
    ];
      $ilk_iki_cikar = array_slice($array, 2);
    shuffle($ilk_iki_cikar);
    return array_merge($ilk_iki_eleman, $ilk_iki_cikar);
    }
    $test_array = [
    1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
    ];
    $final_array = customArray($test_array);
    print_r($final_array);
  • 10-10-2022, 12:27:06
    #4
    teşekkürler, elinize sağlık. hallettim