Kezdőoldal » Számítástechnika » Programok » 100 név közül 10 nevet kellene...

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!

Figyelt kérdés
Előre is köszönöm a segítségeket!

2016. okt. 25. 00:23
 1/3 anonim ***** válasza:
100%

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ó.

2016. okt. 25. 07:16
Hasznos számodra ez a válasz?
 2/3 coopper ***** válasza:
100%

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.

2016. okt. 25. 08:27
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:
Köszönöm szépen! :)
2016. okt. 25. 22:09

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!