[ belindra @ 24.04.2008. 09:01 ] @
Imam pitanje u vezi sa jednim zadatkom.Imam int niz i treba da mi se vrati suma svih clanova niza.Ukoliko neki clan ima vrednost 6 njega ne uzimati u obzir i ostale clanove koji se nalaze posle njega sve dok ne naidje na 7.
Primer:
suma({1, 2, 2}) → 5
suma({1, 2, 2, 6, 99, 99, 7}) → 5
suma({1, 1, 6, 7, 2}) → 4

Jel ima neko mozda neku ideju?
[ cume @ 24.04.2008. 12:36 ] @
Code:

public class Suma {
    


public static void main(String[] args) {
    
    int niz[] = {1, 2, 2, 6, 99, 99, 7};
    System.out.println(sum(niz));
    
}




public static int sum(int niz[]) {
int suma = 0;
boolean flag= false;

for (int i=0;i< niz.length;i++) {
if (niz[i] == 6) {flag=true; continue;}
if (niz[i] == 7) {flag=false; continue; }
if (flag==false) {suma += niz[i];}
}
return suma;
}
    
}


Pazi, ne znam ni da li ovo moze da se kompajlira u javi(naskrabao sam samo iz glave), ali moze da ti bude od pomoci...

Edit: Uradio sam ti zadatak...

Pozz

[Ovu poruku je menjao cume dana 24.04.2008. u 14:15 GMT+1]
[ belindra @ 24.04.2008. 12:47 ] @
Imas dobru ideju koja je vec pokusana (slicna tvojoj) ali nekako ne radi kako treba.
[ zigizig @ 24.04.2008. 19:33 ] @
Ovo bi trebalo da radi.
Sta je problem?
[ Tudfa @ 24.04.2008. 22:52 ] @
U for petlji bi trebao da imas ovo:

Code:


if(niz[i] == 6){flag = true;}
if(flag && niz[i] == 7){flag = false;}
else if(!flag){suma+= niz[i];}



Pozdrav