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
Copyright (C) 2001-2008 by www.elitesecurity.org. All rights reserved.