Kezdőoldal » Számítástechnika » Programozás » Hogy lehet tömbből véletlensze...

Hogy lehet tömbből véletlenszerűen számot kiválasztani (C++)?

Figyelt kérdés

Intervallumból tudok, de tömbből nem. Úgy szeretném, hogy minden egyes alkalommal más-más számot írjon ki.

A tömb 10 elemű. Kell egy számláló, meg a rand() függvény használata.


Illetve kérdésem még, hogyha nem egy, hanem két számot választunk ki, azokat hogyan lehetne beválogatni egy új tömbbe (akár sorrendben, akár azt is véletlenszerűen)?


Köszönöm szépen.


2020. aug. 16. 15:15
1 2
 1/17 A kérdező kommentje:

Pár dolog kimaradt. Tehát kell egy számláló meg a rand() függvény, ezt azért írtam, mert eddig értem.


Tömböt feltölteni már tudok véletlenszerűen számokkal, csak belőlük kiválasztani nem.

2020. aug. 16. 15:16
 2/17 anonim ***** válasza:
18%

Rand(x);

array[x];


Gondolkozni kéne.


A Rand függvény intervalluma 0-9, az általa generált int tipus pedig a tömb indexe.

2020. aug. 16. 15:31
Hasznos számodra ez a válasz?
 3/17 anonim ***** válasza:
7%
Ilyen, hogy rand(x) nincsen. Nem tudsz paramétert beleírni.
2020. aug. 16. 16:24
Hasznos számodra ez a válasz?
 4/17 anonim ***** válasza:
10%
Maga a rand() kell csak. Ez generál neked egy számot (az időből) és ehhez jön a % intervallum. Amivel modulárisan osztod. És így fog jönni a számod.
2020. aug. 16. 16:26
Hasznos számodra ez a válasz?
 5/17 anonim ***** válasza:
39%

Ha van egy tömböd, amibe megvannak az értéket pl:


int tmb[10]={1,2,3,4,5,6,7,8,9,10};


akkor, hogy ebből generálj véletlen számot, akkor ugyanúgy egy "random" számot kell generáolnod, viszont ezt a random számot amit generáltál a tömb indexébe adod meg. Mert ugyebár ha megadom ezt: tmb[2] akkor ez a tömb 3. eleme ami tmb[2] = 3; (Ezt a 2-es számot mondjuk te generáltad le)


int veletlenszam = tmb[rand() % 5];

2020. aug. 16. 16:37
Hasznos számodra ez a válasz?
 6/17 anonim ***** válasza:
39%

Tessék:


[link]

2020. aug. 16. 16:42
Hasznos számodra ez a válasz?
 7/17 tabaki ***** válasza:

Anélkül, hogy különösebben értenék hozzá: Nekem a #6 hsz programjából hiányzik a véletlenszám-generátor randomizálása – így mindig ugyanolyan sorrendben kever. Ezenkívül, az „úgy szeretném, hogy minden egyes alkalommal más-más számot írjon ki” kifejezésből nekem az jön le, hogy maximum a tömb méretének megfelelő számú kiválasztás lehet, anélkül, hogy egy-egy tömbelem ismételten választható lenne. Erre egy egyszerű (bár emiatt talán nem a leghatékonyabb) megoldás, ha egy másik tömbben, vagy kétdimenziós tömb másik indexén, vagy például struct adattömb erre szolgáló mezőiben könyveled, hogy az adott elem sorra került-e már, és ha igen, újra próbálkozol. Itt vannak az én kísérleteim:

[link]

[link]

[link]

A nem egy, hanem két kiválasztott szám új tömbbe válogatásával kapcsolatos szándékodat nem egészen értem.

2020. aug. 16. 21:56
Hasznos számodra ez a válasz?
 8/17 anonim ***** válasza:

Változó, ami random értéket kap a random() függvénnyel, de maximum a tömb mérete lehet. Majd kiíratjuk a tömb "randomadik" értékét:

tomb[num]; //num a random érték

2020. aug. 16. 22:22
Hasznos számodra ez a válasz?
 9/17 anonim ***** válasza:
51%
7: nem kever ugyanolyan sorrendben
2020. aug. 16. 22:30
Hasznos számodra ez a válasz?
 10/17 anonim ***** válasza:
51%
Másrészt az srand és a rand nem ugyanaz. A kérdező rand()-ot akar.
2020. aug. 16. 22:31
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!