Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Grupa G-LJ :: vjezbe 25-3-2009 (objasnjenje gradiva)
WWW:

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
GauSs_
Moderator
Moderator


Pridružen/a: 28. 01. 2004. (21:01:17)
Postovi: (53C)16
Spol: muško
Sarma = la pohva - posuda
72 = 110 - 38
Lokacija: 231

PostPostano: 11:00 sri, 25. 3. 2009    Naslov: Grupa G-LJ :: vjezbe 25-3-2009 Citirajte i odgovorite

Dakle, na kraju sata sam vas pitao da smislite primjer za koristenje static varijeble pri rekurzivnom racunanju faktorijela( primjer nije trebao biti ni pametan ni super ucinkovit) :D

Na plocu sam napisao:
[code:1]
long fak( int n){
static long p = 1;

if( n==1) return p;

p *= n;

fak( n-1);
}
[/code:1]

sto je pogresno! Treba pisati:
[code:1]
long fak( int n){
static long p = 1;

if( n == 1) return p;

p *= n;

return fak( n-1);
}
[/code:1]

Takdjer sam napomenuo da ovaj primjer nece ispravno raditi kod ponovnog poziva.

npr.
[code:1]
#include <stdio.h>

long fak( int n){
static long p = 1;

if( n == 1) return p;

p *= n;

return fak( n-1);
}

int main(){

printf("1.put: %ld\n\n", fak(5) );


printf("2.put: %ld", fak(5) );

return 0;
}
[/code:1]

ispisuje
[code:1]
1.put: 120

2.put 14400
[/code:1]
Dakle, na kraju sata sam vas pitao da smislite primjer za koristenje static varijeble pri rekurzivnom racunanju faktorijela( primjer nije trebao biti ni pametan ni super ucinkovit) Very Happy

Na plocu sam napisao:
Kod:

long fak( int n){
  static long p = 1;

  if( n==1) return p;

  p *= n;

  fak( n-1);
}


sto je pogresno! Treba pisati:
Kod:

long fak( int n){
  static long p = 1;

  if( n == 1) return p;

  p *= n;

  return fak( n-1);
}


Takdjer sam napomenuo da ovaj primjer nece ispravno raditi kod ponovnog poziva.

npr.
Kod:

#include <stdio.h>

long fak( int n){
  static long p = 1;

  if( n == 1) return p;

  p *= n;

  return fak( n-1);
}

int main(){

  printf("1.put: %ld\n\n", fak(5) );


  printf("2.put: %ld", fak(5) );

  return 0;
}


ispisuje
Kod:

1.put: 120

2.put 14400



_________________
The purpose of life is to end
Malo sam lose volje...

Prosle su godine kolokviji bili laksi, zar ne?
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan