[ Sajben @ 22.03.2009. 22:56 ] @
Jel moze neko da resi ovaj zadatak...

Broj je "dobar" ako mu je svaka cifra veca od zbira cifara, koje se
nalaze desno od nje. Na primer, dobri brojevi su 7, 531 i 8421, a
brojevi 33, 287 i 321 nisu "dobri".
Napisati program kojim se unose prirodni brojevi dok se ne unese 0, a
ispisuje se najveci "dobar" broj. Ako takav broj medu unetim brojevima
ne postoji, dati odgovarajucu poruku.

Primer:
- Ulaz: 430, 842, 972, 521, 0
- Izlaz: Najveci dobar broj je 842
[ stefanpn @ 22.03.2009. 23:09 ] @
Može...
[ Sajben @ 22.03.2009. 23:13 ] @
Bravo!
Napisi programski kod kako si uradio zadatak!!!
[ Marko_L @ 23.03.2009. 02:02 ] @
A možeš li prvo napisati dokle si ti stigao sa zadatkom ? Gde je zapelo ?
[ Sajben @ 23.03.2009. 14:06 ] @
Na pocetku :) :) :)
[ stefanpn @ 23.03.2009. 16:26 ] @
Ukoliko ne počneš sam, tu ćeš i ostati.

Niko ne posećuje forum da drugima radi zadatke, već da pomogne kad negde "zaglave" i tako proširi i svoje znanje.
[ Sajben @ 24.03.2009. 23:42 ] @
Znam nesto otprilike
Code:
a=text1.text               'broj
br = 0                          
y = len (a)
x = mid(a,1,1)
for i = 2 to a
    z = mid(a,i,1)
    br=br+z
if x>be then
'broj je dobar 
else
'broj nije dobra
end if
next i

mozda nesto ovako...

Dodati code tagovi

[Ovu poruku je menjao Marko_L dana 25.03.2009. u 02:53 GMT+1]
[ Marko_L @ 25.03.2009. 02:06 ] @
Eto vidiš, nije bilo toliko teško. Ovo nije loše, ali je problem što pokriva samo prvu cifru, a koliko sam shvatio, trebalo bi sve da proveri. Takođe, ne bi bilo loše od ovoga napraviti funkciju koja će da vraća boolean vrednost (True ako je dobar, a False ako nije). Ovako nešto
Code:
Private Function DobarBroj(lNumber As Long) As Boolean
Dim i As Long
Dim j As Long
Dim lZbir As Long

Dim strBroj As String
strBroj = CStr(lNumber)

If Len(strBroj) = 1 Then
    DobarBroj = True
    Exit Function
End If

For i = 1 To Len(strBroj)
    lZbir = 0
    For j = i + 1 To Len(strBroj)
        lZbir = lZbir + Val(Mid(strBroj, j, 1))
    Next j
    If Val(Mid(strBroj, i, 1)) <= lZbir Then
        DobarBroj = False
        Exit Function
    End If
Next i

DobarBroj = True
End Function

Pozivaš je naravno sa
Code:
MsgBox DobarBroj(n)

gde je n broj koji želiš da proveriš.
[ Sajben @ 25.03.2009. 16:17 ] @
Tnx ...