[ makari @ 28.06.2007. 21:58 ] @
Zadatak glasi :

Napisati rekurzivnu metodu koja iz niza celobrojnih brojeva pravi sumu samo neparnih brojeva.
Metoda ima dva argumenta,gde je prvi argument niz,a drugi argument duzina niza.
Unapred hvala.
[ nemnesic @ 28.06.2007. 22:04 ] @
OK...i? sta sad? da ti neko napise resenje hoces?
[ dimitar 16 @ 28.06.2007. 22:30 ] @
Citat:
makari: Zadatak glasi :
...
Unapred hvala.

lol kakav post :D
[ makari @ 28.06.2007. 22:33 ] @
U javi sam pocetnik,a ni u c++ nisam bas nesto,ali ev nesto sam u c++ uradio,kako ovo u javu prebaciti,ima li ogromne razlike ?
Code:

#include <iostream.h>
#include <conio.h>

int xx (int a[], int duzina){
  int broj = duzina-1;
  if (broj==-1) return 0;
  if (a[broj]%2== 0) xx(a,broj);
  else
  return a [broj]+ xx(a,broj);
}
int main () {
  int a [5]= {4,8,5,3,1};
  cout<<xx  (a,broj);
}
[ Au197/79 @ 29.06.2007. 08:29 ] @
Vrlo je sličan kod. U javi uvek moraš imati klasu pa ćeš pisati, a main metoda ima drugačiji zapis:
Code:
public class Rekurzija {
    . . .

    public static void main(String[] argumenti) {
        . . .
    }

}


Niz se stvara sa int[] a = {4,8,5,3,1}; java je dovoljno pametna da sama prebroji elemente :)
cout je System.out.print(ono što se štampa)
Mislim da je to sve. Naziv fajla treba da je isti kao naziv klase sa nastavkom .java
[ makari @ 29.06.2007. 15:36 ] @
Code:

public class Rekkurzija {
  public static void main(String args[]) {
    int a []= {4,8,5,3,1};
    System.out.println(metod(a,broj));
    }
    int metod (int a[], int duzina){
      int broj = duzina-1;
      if (broj==-1) return 0;
      if (a[broj]%2== 0) metod(a,broj);
      else
      return (a [broj]+ metod(a,broj));
    }
}


Ja sam uradio ovo,ali mi javlja gresku u 4 liniji,ne prepoznaje variablu broj .....
Upomoc !
[ anon315 @ 29.06.2007. 15:45 ] @
Sta bre zapomazes, kad nisi promenljivu deklarisao...
[ makari @ 30.06.2007. 15:35 ] @
Kako krenuti ovaj zadatak?
Program sa rekurzivnom metodom,koja kao argument uzima niz celih brojeva,pocetni i krajnji indeks,a kao povratnu vrednost daje sumu datog niza....
Kako krenuti sa argumentima?
[ Au197/79 @ 01.07.2007. 00:09 ] @
Metoda koju si nazvao metod mora biti statička jer je pozvaš direktno bez objekta iz main metode.

Prenošenje onog 2 argumenta koji treba da označava broj elemenata niza ti je pogrešno i u primeru na C++-u. I tu bi se kompajler žalio što xx funkciji prenosiš neku varijablu koju nigde nisi deklarisao i nigde joj nisi dao vrednost. Isto ti je i u javi. Samo u javi ti taj 2. parametar ni ne treba jer je niz objekat koji ima atribut length koji vraća kolika je deklariana dužina niza.
[ Dejan Lozanovic @ 02.07.2007. 11:50 ] @
Citat:
makari:
Code:

public class Rekkurzija {
  public static void main(String args[]) {
    int a []= {4,8,5,3,1};
    System.out.println(metod(a,broj));
    }
    int metod (int a[], int duzina){
      int broj = duzina-1;
      if (broj==-1) return 0;
      if (a[broj]%2== 0) return metod(a,broj);
      else
      return (a [broj]+ metod(a,broj));
    }
}


Ja sam uradio ovo,ali mi javlja gresku u 4 liniji,ne prepoznaje variablu broj .....
Upomoc !


Code:

public class Rekkurzija {
  public static void main(String args[]) {
    int a []= {4,8,5,3,1};
    System.out.println(metod(a,a.length));
    }
    public static int metod (int a[], int duzina){
      int broj = duzina-1;
      if (broj==-1) return 0;
      if (a[broj]%2== 0) 
      return metod(a,broj);
      else
      return (a [broj]+ metod(a,broj));
    }
}