» »

Random

Random

tadej123321 ::

Zanima me, če ima kdo rešitev za takole nalogo: rad bi naredil program ki generira recimo 20 naključnih števil med 1 in 30, ki pa se ne smejo ponavljati. Saj verjetno je odgovor dokaj preprost, a jast nekako prezakompliciram. Resnično bi bil vesel hitrega in učinkovitega odgovora.

Tr0n ::

Vecina programskih jezikov ima nek random algotitem, ki je dovolj dober za to kar nucas. Just google it.

tadej123321 ::

Ne, ne razumeš, če naključno generiraš cifre se pač zgosi de tut dvakrat (in več) vrže vn isto cifro; s tem bi pa rad jest naredu de vrže vn samo vedno različne a vseeno enako število.

Senitel ::

Poišči mal po oddelku... Isto vprašanje nekaj časa nazaj.

Tr0n ::

Pac gres skozi obstojeco listo stevil in ce najdes enako, spet poisces novo random itd. Veliko je tudi odvisno od samega algoritma.

XsenO ::

Uporabi random funkcijo, ki jo ima programski jezik, ki uporabljaš (večina novejših, bi jo morala imeti). Ta števila naj gredo v eno tabelo ali seznam, če hočeš. A vsakič preden ga doda naj pregleda, če je že ali ne. Kakšna do-while zanka, bi bila imho najbolša.
1 + 1 = 1

Zgodovina sprememb…

  • spremenil: XsenO ()

Tr0n ::

Mislim, da mora samo premesati stevila, da si ne bodo sledila, kar pa ni ravno random. :)

jeti51 ::

Preprosto in učinkovito:
Knuth shuffle @ Wikipedia

(s to razliko, da algoritem ustaviš že malo prej, ne rabiš iti do konca)

Nuke_H2 ::

public static void randomFunkcija(int tab[], int tab1[]){
        int a=tab.length;                       //meja
        for(int i=0;i<tab.length;i++){
            int z=(int)(Math.random()*a);       //random vrednost od 1 do meje, lohk daš tud druge.
            tab1[i]=tab[z];                     //v tabelo damo random vrednost
            tab[z]=tab[a-1];                    //na indeks ki je bil izžreban damo zadnjo število v tabeli
            a--;                                //mejo pomanjšamo
        }
    }

tkole nekak zgleda random algoritem v javi...

Zgodovina sprememb…

  • spremenil: Nuke_H2 ()

Invictus ::

Uporabi random funkcijo, kjer za seed daješ trenutni datum in uro. Pa ne boš nikoli dobil iste cifre.

Kako to narediti ti je težko odgovoriti, ker nisi napisal v katerem jeziku delaš. Sicer pa google in malo znanja angleščine.

LP I.

Genetic ::

Tabelo napolnis s stevili od 1 do 30.
Postavi n na 30;
Ponovi 20 krat:
Izberi random index med 1 in n (0 in n-1);
Dodaj stevilo tabela[index] v tvoj seznam;
Zamenjaj v tabeli stevili z indeksoma index in n (n-1);
Zmanjsaj n za 1;
End ponovi;


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Java passing

Oddelek: Programiranje
203526 (3179) mihibo5
»

[Python] Tutoriali za začetnika v Notepad++ (strani: 1 2 )

Oddelek: Programiranje
7916078 (13172) black ice
»

[Java] Quicksort

Oddelek: Programiranje
6716 (552) MrBrdo
»

Funkcije==>naloge

Oddelek: Programiranje
131733 (1573) brulc
»

osnove v Javi - zvezdice

Oddelek: Programiranje
403499 (2721) Tutankhamun

Več podobnih tem