Kezdőoldal » Számítástechnika » Programozás » Egy tömb elemeinek kiírása az...

Egy tömb elemeinek kiírása az alábbiak szerint?

Figyelt kérdés

Sziasztok!


Van egy programom, ami feltölt egy tömböt 1-90ig, bekér 5 tippet, és megadja hogy mennyi találatunk van. Konkrétan ötös lottó..

Nos, a probléma az lenne, hogy a tömb elemei lehetnek azonosak is. Például lehet benne három 50 is..

Hogyan lehetne azt megoldani hogy a tömbben egy szám csak egyszer forduljon elő? Előre is köszönöm a segítséget!


[link]



2016. febr. 25. 16:16
 1/5 anonim ***** válasza:

A legegyszerűbb módszer: Minden randomszámnál ellenőrzöd, hogy benne van-e már a tömbben, és addig pörgeted újra, amíg egyedi számot nem kapsz. A probléma ezzel: 90-ből 5 szám kiválaszásánál még egész okés, de nagyobb mennyiségeknél már rettenetesen megnyújthatja a futási időt (ugye potenciálisan végtelen ciklust okozhat).


A biztosabb megoldás(ok): Ha olyan megoldást akarsz, ami fix idő alatt fut le, érdemes feltölteni egy 90 elemű tömböt 1-től 90-ig sorban, majd ebből választasz ki random számokat:

Veszel egy random számot 1-től 90-ig, az adott helyen lévő tömbelemet kicseréled az első elemmel.

Veszel egy random számot 2-től 90-ig, az adott helyen lévő tömbelemet kicseréled a másodikkal.

És. Így. Tovább.

A tömb sorban való legenerálása garantálja, hogy minden szám egyszer szerepel, az utána minden iterációban eggyel csökkentett intervallum pedig biztosítja, hogy egyiket sem választod ki kétszer.

Picit körülményesebb, DE fix futásidejű.

2016. febr. 25. 16:40
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
Oh igen, és az így randomizált tömbödnek veszed az első 5 elemét (célszerű eleve csak az első 5-öt random sorrendbe rakni)
2016. febr. 25. 16:42
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:
És ez hogy nézne ki gyakorlatban?
2016. febr. 25. 16:45
 4/5 anonim ***** válasza:

Tölts fel egy tömböt 1-től 90-ig, ahogy az első mondja, aztán keverd meg őket és mondjuk az első 5 elem legyenek a kisorsolt számok.


A keverésre keress rá hogy hogy kell abban a programnyelvben amiben programozol.

2016. febr. 25. 17:02
Hasznos számodra ez a válasz?
 5/5 SimkoL ***** válasza:

Különösebb magyarázat nélkül:

[link]

Ha valamit nem értenél kérdezz !

2016. febr. 25. 18:02
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!