|
Programiranje Programski jezici, tehnike, alatke... |
|
Alatke vezane za temu | Vrste prikaza |
22.1.2011, 23:32 | #1 |
Član
|
do...while petlja sa 2 izraza (uslova)
Pomažem drugaru sa pripremom za kolokvijum iz C# (u pitanju je konzolna aplikacija) i naišao sam na jedan zadatak koji mi pravi problem, a on glasi:
"Generišu se slučajni brojevi 0-20. Potrebno je generisati brojeve sve dok se 5 ne pojavi ukupno dva puta, ili dok se bilo koji drugi broj ne pojavi uzastopno dva puta. Na kraju je potrebno ispisati na ekranu pod kojim uslovom je došlo do kraja programa." OK, jasno mi je šta treba da se uradi. Ja sam rešio da koristim do...while petlju. Da dam objašnjenje kako sam zamislio da odradim ovaj zadatak: Kod:
int broj = 0; // nasumicno izabran broj int broj2 = 0; // broj razlicit od 5 int brojPonavljanja = 0; // broj ponavljanja broja 5 int brojOstalihPonavljanja = 0; // broj ponavljanja brojeva razlicitih od 5 do{ broj = nasumicanBroj.Next(0, 20) + 1; Console.WriteLine("Izabran je broj " + broj); // ispisi koji je broj izabran Console.ReadLine(); if (broj == 5){ brojPonavljanja++; // inkrementiraj promenljivu (imace vrednost 1) if (brojOstalihPonavljanja == 1) // ako smo vec jednom pre broja 5 dobili broj != 5 { brojOstalihPonavljanja--; // resetuj vrednost promenljive na 0 } } else if (brojOstalihPonavljanja == 0) // ako nismo 2 puta zaredom pronasli iste brojeve{ broj2 = broj; brojOstalihPonavljanja++; // inkrementiraj promenljivu za 1 } else if (brojOstalihPonavljanja == 1) // ako smo vec jednom dobili broj razlicit od 5{ if (broj2 == broj){ brojOstalihPonavljanja++; // ako je broj2 == broj onda inkrementiraj promenljivu za 1 (imace vrednost 2) } else{ brojOstalihPonavljanja--; // u suprotnom resetuj vrednost promenljive na 0 } } } while (brojPonavljanja < 2 || brojOstalihPonavljanja < 2); Console.WriteLine("Program se zavrsio zato sto se broj {0} pojavio 2 puta",(brojPonavljanja == 2)?broj:broj2); Console.ReadLine(); P.S: U slučaju da vam je bliskiji actionscript 3 isti taj zadatak izgleda ovako: Kod:
var nasumicanBroj:int; var broj2:int = 0; var brojPonavljanja:int = 0; var brojOstalihPonavljanja:int = 0; do { nasumicanBroj = Math.random()*20; trace("Izabran je broj " + nasumicanBroj); if (nasumicanBroj == 5) { brojPonavljanja++; } else if (brojOstalihPonavljanja == 0) { broj2 = nasumicanBroj; brojOstalihPonavljanja++; } else if (brojOstalihPonavljanja == 1) { if (broj2 == nasumicanBroj) { brojOstalihPonavljanja++; } else { brojOstalihPonavljanja--; } } } while (brojPonavljanja < 2 && brojOstalihPonavljanja < 2); trace("Program je zavrsen zato sto je broj " + String((brojPonavljanja == 2) ? nasumicanBroj : broj2) + " izabran 2 puta"); Poslednja ispravka: Bolton (22.1.2011 u 23:56) Razlog: actionscript update |
Bookmarks sajtovi |
|
|
Slične teme | ||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Pesma/e koja vas najviše dirne? | Wolverine | Opšta kultura | 1131 | 5.9.2019 15:13 |
Problem sa zvukom - da li je do hardware-a ili nesto drugo? | FiresnakE | Kvarovi | 6 | 5.3.2010 12:08 |
Smešni, interesantni tekstovi o raznim geek temama | NjegovaWisost | Cvet kompjutera | 286 | 20.2.2010 13:18 |
ASUS - AROT 2010 - pravila takmičenja (7.12.2009. do 5.1.2010.) | Spacemaster | Dešavanja i događaji | 2 | 19.12.2009 22:40 |
Slušalice sa mikrofonom od 1000 do 1300 din | donmarko | ŠDK - Zvuk na računaru | 12 | 26.8.2008 11:14 |