Tilfeldig tall av prosenter C ++

stemmer
-1

Så problemet er å tilfeldige tall varierer fra 0-100 (100%) og 30% må være rød, har 20% for å være blå og 50% er grønn. Jeg forstår begrepet, men kan ikke finne ut av regnestykket for hvis setningen til prosenter.

Publisert på 13/02/2020 klokken 23:56
kilden bruker
På andre språk...                            


2 svar

stemmer
0

hvis du har tilfeldig tall i området [1-100] da logikken vil være

if (num <= 30) return "red"; // covers [1-30]
if (num <= 30+20) return "blue"; // covers [31-50]
return "green"; // covers [51-100]
Svarte 14/02/2020 kl. 00:16
kilden bruker

stemmer
0

Den beste representasjon for prosenter er flytende punkter, 0% er 0 og 100% er

Heldigvis C # gir en flott sta funksjon for dette formålet: Random.NextDouble ()

For å generere en tilfeldig flyte bare kalle det slik:

Tilfeldig seeded_random_number_generator = new Random (); red_portion = seeded_random_number_generator.NextDouble ();

Til slutt å bruke dobbel bare multiplisere det med annen faktor.

area_to_paint_red = red_portion * shape_area

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

Svarte 14/02/2020 kl. 00:19
kilden bruker

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