Turbo Pascal-ban lehetséges?
Persze
csak a többi számot egyszerűen igaz hamis állításokkal kell megszabnod
Például:
szam1:=random(50);
szam2:=??
Köszönöm az eddigi segítségeket!
A véletlenszerűen generált számokat lehetséges növekvő sorrendben kiíratni?
2 szám esetén ez jó ha nincs semmilyen megkötés csak annyi hogy a különbség legalább 10 legyen, (a 2. szám mindig nagyobb lesz):
szam1:=random(50);
szam2:=szam1+10+random(50);
-----------------------------
Általános megoldás (ötlet) ami a többi esetre is működik amit kérdeztél az ,hogy számokat sorsolsz ki van 51 db sorjegyed melyek rendre 0,1,2,3,4...50 és ezek közül húzol véletlenszerűen visszatevés nélkül, ez már alapból kiszűri azt hogy 2x ugyan az a szám legyen.
Az hogy a kihúzott számnál a következő szám különbsége legalább 10 legyen azt úgy oldjuk meg hogy azokat a sorsjegyeket melyek különbsége kisebb mint 10 megsemmisítjük, ezt lehet feltételhez kötni hogy kell e megsemmisíteni ...
Apropó 0 és 50 közötti számot nem random(50) hanem random(51) állítja elő.(Úgy hogy lehet 0 és 50 is)
Az lenne a következő kérdés hogy a sorsjegyeket programozzam le?
Tömbbel. Legyen egy sorjegy tömb és legyen egy kisorsolt tömb. A sorjegy tömb méretét tekintsük úgy hogy egy változó tárolja, ami kezdetbe 51. Kezdetbe a tömböt töltsük fel 0 és 51 közti különböző egész számmal, leg kézenfekvőbb a tömbindexnek megfelelő értéket belerakni minden elemnek ...
Köszönöm, megpróbálkozom vele!
Akkor, ha 1-től 50-ig szeretném, random(50)+1?
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!