• 9 odgovora
  • 6.428 pregleda
Rekurzivna metoda 28.06.2007. u 21:58 · pre 235 meseci #1
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.
Re: Rekurzivna metoda 28.06.2007. u 22:30 · pre 235 meseci #3
Citat:
makari: Zadatak glasi :
...
Unapred hvala.

lol kakav post :D
Re: Rekurzivna metoda 28.06.2007. u 22:33 · pre 235 meseci #4
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);
}
Re: Rekurzivna metoda 29.06.2007. u 08:29 · pre 235 meseci #5
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
Potpis
Bolje džaba ležat nego džaba radit.
Re: Rekurzivna metoda 29.06.2007. u 15:36 · pre 235 meseci #6
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 !
Re: Rekurzivna metoda 29.06.2007. u 15:45 · pre 235 meseci #7
Sta bre zapomazes, kad nisi promenljivu deklarisao...
Re: Rekurzivna metoda 30.06.2007. u 15:35 · pre 235 meseci #8
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?
Re: Rekurzivna metoda 01.07.2007. u 00:09 · pre 235 meseci #9
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.
Potpis
Bolje džaba ležat nego džaba radit.
Re: Rekurzivna metoda 02.07.2007. u 11:50 · pre 235 meseci #10
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));
    }
}
Potpis
http://speedy-order.com
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme