100 név közül 10 nevet kellene kisorsolnom véletlenszerűen, ez hogyan lehetséges? (Úgy, hogy egy név maximum egyszer szerepelhet!
Gondolom ezt a programozás témakörbe akartad írni.
Nyelvet nem írtál, szóval általános leszek (mondjuk amúgy sem szeretek programkódokban válaszolni):
A 100 nevet értelemszerűen eltárolod valamilyen tárolóban, célszerűen egy tömbben. Az egyik leghatékonyabb megoldás (szerintem), ha először kigenerálsz egy random számot 0-99 között (vagy 1-100, ahogy indexel a tömböd), az így kijelölt elemet pedig kicseréled a tömb első elemével. Ezután már csak 2-100 között generálsz ki egy random számot, így az első, már kiválasztott elem nem kerülhet ismét sorra. A kiválasztott elemet kicseréled a tömb második elemével, és így haladsz egészen addig, míg megvan a 10 név, amik a tömb elején fognak sorakozni.
Ennek az előnye, hogy lineáris műveletigényű, szóval gyorsan lefut. A legnagyobb hátránya, hogy a kisorsolandó elemeket el kell tárolni egy tömbben, így kérdéses lehet a létjogosultsága, ha mondjuk csak számokat kell kisorsolni valami 10-100 ezres nagyságig. Viszont mivel itt nevekről van szó, amiket úgyis el kell tárolni valahol, ez a metodika hatékonynak mondható.
Szia.
Szerintem legegyszerűbb excelben megoldani a problémát.
Itt van egy ilyen jelegű excel fájl : [link]
Mivel Macró van az excel fájlban, ezért a macrókat engedélyeztetni kell (ha nem lennének engedélyezve) 2010 excelben : Fájl -> Beállítások -> Adatvédelmi központ -> Az Adatvédelmi központ beállitásai (gomb) -> Makróbeállítások. Itt a pöttyöt az utolsó sorhoz kell rakni (Az összes makró engedélyezése....)
Ha már a macrók engedéyleztetve vannak, akkor a file első megnyitásakor a Tartalom engedélyezése gombot meg kell nyomni - egyébként nem fog működni.
Feltöltöd a cellákat A2-től kezdődően a nevekkel (A makró automatikusan meghatározza az utolsó nem üres cellát és eddig sorsol)
Illetve beírod a darabszámot a F2-es cellába és megnyomod a "Sorsolás Inditása" gombot. D2-es cellától kezdve megtalálod az eredményt.
A makró megtekintése Excelben ALT+F11 és Modules->Module1
Illetve ez a macro van az excel fajlban : [link]
Sok sikert.
üdv.
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!