Náhodné číslo od procentech C ++

hlasů
-1

Takže problém je náhodná čísla v rozmezí 0 až 100 (100%) a 30%, musí být červená, 20%, musí být modré a 50% je zelená. Chápu, že koncept, ale nemůže přijít na to, matematický za if na procentech.

Položena 13/02/2020 v 23:56
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
0

Máte-li náhodné číslo v rozsahu [1-100] pak logika bude

if (num <= 30) return "red"; // covers [1-30]
if (num <= 30+20) return "blue"; // covers [31-50]
return "green"; // covers [51-100]
Odpovězeno 14/02/2020 v 00:16
zdroj uživatelem

hlasů
0

Nejlepší zastoupení pro procentech se plovoucí bodů, 0% 0 a 100% je

Naštěstí C # poskytuje skvělý umíněný funkci pro tento účel: Random.NextDouble ()

Vygenerovat náhodné float stačí zavolat to třeba takto:

Náhodné seeded_random_number_generator = nový náhodný (); red_portion = seeded_random_number_generator.NextDouble ();

A konečně používat svůj dvojnásobek jen vynásobte ji jiný faktor.

area_to_paint_red = red_portion * shape_area

Reference: https://docs.microsoft.com/en-us/dotnet/api/system.random.nextdouble?view=netframework-4.8

Odpovězeno 14/02/2020 v 00:19
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more