Kezdőoldal » Számítástechnika » Programozás » C# ismétlődés probléma?

C# ismétlődés probléma?

Figyelt kérdés
Készítek egy számot véletlenszerűen 0-4 között. Hogyan érhetem el, hogy közvetlen egymás után ne legyen ismétlődés?

2016. dec. 22. 19:48
1 2
 11/16 anonim ***** válasza:
Honnan látod, hogyan észleled hogy van ismétlődés?
2016. dec. 23. 14:45
Hasznos számodra ez a válasz?
 12/16 A kérdező kommentje:
Tesztelésképpen a kódot egy gombra tettem. A MessageBox-al kiíratom. Rákattintok a gombra és megnézem, hogy közvetlenül egymás után ír e ki azonos számot (pl. 1 2 3 3 2) kétszer van a 3 egymást követően.
2016. dec. 23. 14:55
 13/16 anonim ***** válasza:
Én úgy csinálnám hogy a generált számon végigmennék hogy van e már ilyen ha igen hozzáadok egyet majd újból vizsga hogy van e ilyen ha igen megint hozzáadok egyet és így tovább.
2016. dec. 23. 15:57
Hasznos számodra ez a válasz?
 14/16 SimkoL ***** válasza:
'Valószínűleg én rontottam el valamit' nem kicsit, nagyon. Te mindig a ciklus lefutása után veszed ki az utolsó számot és nem viszonyítod semmihez, míg a listákban mindig viszonyítva van az előzőhöz. Ha a listákat íratnád ki hibátlan lenne, de te az egész műveleteddel adtál a szarnak egy pofot. Áruld már el konkrétabban mi a fenét is akarsz.
2016. dec. 23. 16:15
Hasznos számodra ez a válasz?
 15/16 anonim ***** válasza:
Valóban, most nézem, az van amit Simkó uraság mond. Lefut a ciklusod, legenerál N darab számot, amik között alighanem NINCS közvetlen ismétlődés, majd az utolsót hozzáadod a textboxhoz. Aztán újra legenerálsz N darab számot, és megint a legutolsót írod ki. Hát figyelj, az algoritmus azt garantálja, hogy egymás után nem generáljuk ugyanazt a számot, de te most azt akarod összevetni, amik N számra vannak egymástól. Így persze, hogy látsz ismétlődést.
2016. dec. 23. 17:00
Hasznos számodra ez a válasz?
 16/16 anonim ***** válasza:

Lehetne olyat is csinálni hogy több intervallumra darabokra szedni a kezdeti intervallum tartományt, mondjuk legyen ez most 0-10.


Kell egy lista amiben intervallumtartományokat tárolnánk. Kezdetben egyet a 0-10 et.

Ezután kisorsol egy számot 0-10 ből az rnd obj legyen ez 4 es. A négyet bele az eredmény list be.

Interval lista elemeinek törlése és hozzá adni azt a két intervallumot amikre elfeleződött a kezdeti intervallum.

0-4

4-10

Kisorsolunk egy véletlenszámot amiknek hossza az intervallumlista hossza majd a visszaadott intervallumból lehet sorolni megint legyen ez most 0-4 az ebből sorsolt szám pedig 2 így kapunk még két Interval

0-2

2-4

0-4 törlése az intervallum list ből majd az új 2 pedig bele és így tovább.

2016. dec. 23. 19:11
Hasznos számodra ez a válasz?
1 2

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!