prvo mala prepravka, cisto da bi bio pregledniji kod
umesto
Kod:
intRezultat *= (intBrojevi - 1)
intBrojevi -= 1
mozes da stavis
Kod:
intBrojevi -= 1
intRezultat *= (intBrojevi)
no, naravno, tvoj problem ne lezi tu, tvoj problem lezi u while uslovu
stoji ti while intBrojevi = 1
taj uslov nije tacan od samog starta (osim ako ne uneses 1 kao pocetni broj)
jedini razlog zasto se uopste bilo sta izvrsava je sto je uslov na dnu petlje, pa prvi put mora da prodje.
to treba da prepravis sa while intBrojevi = 1 na while intBrojevi > 1
dakle, dokle god je intBrojevi josuvek VECI od 1, pokreni petlju ponovo, pomnozi, smanji intBrojevi, opet testiraj.
zapamti da u while uslovu ne pises uslov kada hoces da se zavrsi petlja nego pises uslov koji mora da vazi da bi petlja nastavila da se izvrsava.
naravno, logickim operacijama uvek imas fleksibilnost (kao sto je dodavanje NOT, sto bi takodje popravilo tvoj kod, while not intBrojevi = 1)
a mozda VB jos uvek podrzava i "UNTIL" umesto "WHILE", sto bi takodje resilo tvoj problem.
No, resenje koje sam ti prvo naveo je po meni najcistije i najjasnije, ja bi izabrao to