Vyplněné pole v C++ – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vyplněné pole v C++ – C / C++ – Fórum – Programujte.comVyplněné pole v C++ – C / C++ – Fórum – Programujte.com

 

Baron
~ Anonymní uživatel
3 příspěvky
26. 11. 2013   #1
-
0
-

Zdravím, mám jednoduchou otázku...

mám vyplněné pole

int pole[10]={10,15,20,25,30,35,63,68,95,120};
.
.
.
for (i=0;i<5;i++) 
    {
.
.
. 
	}


Jak mám zařídit, aby se vypsalo pět NÁHODNÝCH prvků z toho pole? Zkoušel jsem si s tím trochu pohrát, ale vždycky mi to vypisuje pouze těch první pět prvků...Díky za odpovědi.

Nahlásit jako SPAM
IP: 188.175.121.–
lukas.balaz0
Super člen
26. 11. 2013   #2
-
0
-

Použi funkciu rand(), ktorá ti vyhodí náhodné číslo (pred použitím odporúčam google) a použi ju aby ti náhodne vybrala index pola, ktorý chces vypísať. Potom ešte treba ošetriť to, aby si nevypísal niečo 2 krát. To máš veľa možností, napr si čísla, ktoré vypíšeš zmeníš v poli na nuly a vždy keď narazíš na 0 zväčšíš náhodné číslo (index  v poli) o 1 až dokým nenájdeš najbližšie nenulové číslo pod tým indexom(nezabudni vždy modulovať veľkosťou pola)

Nahlásit jako SPAM
IP: 213.215.106.–
Baron
~ Anonymní uživatel
3 příspěvky
26. 11. 2013   #3
-
0
-

Tak u tohohle stačil příkaz , který jsem zadal do cyklu.

pole[i]=rand()%5;

Zkoušel jsem totéž u stringu, ale místo slov se mi vypisujou znaky z ASCII.

Nějaký napad jak provést to samé u stringu? (vypíše se pět nahodnych slov) Co dělám špatně?

Nahlásit jako SPAM
IP: 188.175.121.–
KIIV
~ Moderátor
+43
God of flame
26. 11. 2013   #4
-
0
-

#3 Baron
jestli todle ma za ukol ziskat jedno z tech cisel na nahodne pozici, tak to delas blbe :)

Nahlásit jako SPAM
IP: 94.113.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
27. 11. 2013   #5
-
0
-

Nahodile vybrat prvek pole znamená nahodile vygenerovat index prvku. Pole má 10 prvků, takže generuj náhodné celé číslo z rozsahu 0 až 9 včetně. Toto číslo použij jako index a přečti prvek s tímto indexem. Nahodile vybraných prvků má být 5, takže celé opakuj 5x.

Na slova je to podobné. Jestli to může být C++, použiješ vektor stringů. Nahodilý výběr prvků se provádí úplně stejně pomocí indexu.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý