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

Zadatak 11.14.
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
Masiela
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2007. (22:28:01)
Postovi: (338)16
Spol: žensko
Sarma = la pohva - posuda
74 = 97 - 23
Lokacija: Među bananama

PostPostano: 20:57 čet, 7. 2. 2008    Naslov: Zadatak 11.14. Citirajte i odgovorite

[img]http://i32.tinypic.com/5d7xj6.jpg[/img]

Ne kužim što je pjesnik htio reći.
Što se zapravo traži i što zapravo radimo? :?


Ne kužim što je pjesnik htio reći.
Što se zapravo traži i što zapravo radimo? Confused



_________________
mladac: e.k.s. je možda 8%, moje znanje ni toliko Sad
[Vrh]
Korisnički profil Pošaljite privatnu poruku
arya
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 30. 11. 2006. (20:10:37)
Postovi: (233)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
49 = 109 - 60
Lokacija: forum

PostPostano: 21:22 čet, 7. 2. 2008    Naslov: Citirajte i odgovorite

dakle, probat ću nekak objasnit... ne garantiram da je točno, tak ja shvaćam :) argument funkcije ti je x, koji je tipa int*(pointer na int), a ova druga * ti je zbog toga jer je to varijabilni arg( kao što i inače kad radiš nešto s var. arg. stavljaš ispred njega zvjezdicu u deklaraciji funkcije)...zato imaš int** x... i u funkciji ti se taj pointer na int treba poništiti... zbog toga jer je varijabilan, u funkciji ga koristiš sa *x, kao uvijek kod varijabilnih parametara... i ideš ga poništavat, tj. staviš da je jednak NULL( null-pointer)... znači sad je x postao null-pointer... a to je i bio cilj :)
dakle, probat ću nekak objasnit... ne garantiram da je točno, tak ja shvaćam Smile argument funkcije ti je x, koji je tipa int*(pointer na int), a ova druga * ti je zbog toga jer je to varijabilni arg( kao što i inače kad radiš nešto s var. arg. stavljaš ispred njega zvjezdicu u deklaraciji funkcije)...zato imaš int** x... i u funkciji ti se taj pointer na int treba poništiti... zbog toga jer je varijabilan, u funkciji ga koristiš sa *x, kao uvijek kod varijabilnih parametara... i ideš ga poništavat, tj. staviš da je jednak NULL( null-pointer)... znači sad je x postao null-pointer... a to je i bio cilj Smile



_________________
kalendar Bow to the left
Pa, ptica... Zar nije ocito? Hrcak
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail MSNM
Masiela
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2007. (22:28:01)
Postovi: (338)16
Spol: žensko
Sarma = la pohva - posuda
74 = 97 - 23
Lokacija: Među bananama

PostPostano: 21:47 čet, 7. 2. 2008    Naslov: Citirajte i odgovorite

Znači li to da u glavnom programu imam int *x, i sad idem nešto čeprkati po tom x-u, tj. njegovoj vrijednosti?

A NULL je standardna oznaka u C-u? I s njim sam dobila da u glavnom programu više nemam *x nego x?
Znači li to da u glavnom programu imam int *x, i sad idem nešto čeprkati po tom x-u, tj. njegovoj vrijednosti?

A NULL je standardna oznaka u C-u? I s njim sam dobila da u glavnom programu više nemam *x nego x?



_________________
mladac: e.k.s. je možda 8%, moje znanje ni toliko Sad
[Vrh]
Korisnički profil Pošaljite privatnu poruku
arya
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 30. 11. 2006. (20:10:37)
Postovi: (233)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
49 = 109 - 60
Lokacija: forum

PostPostano: 22:09 čet, 7. 2. 2008    Naslov: Citirajte i odgovorite

da, u glavnom imaš int* x, x je pointer na int... i ideš mijenjati u f-ji njegovu vrijednost (zato int** x)... u funkciju ga šalješ sa &x... dakle, adresu, pa se promjena vidi i u glavnom programu :)
sa NULL dobiješ da ti je x null-pointer, poništavaš x, postavljaš ga na NULL... a uvijek imaš x, to ti je varijabla... tipa pointer na int( int*)... x i dalje ostaje pointer na int... samo je sad postavljen na vrijednost NULL... na početku je mogao bit nešto drugo, i sad ga ti u f-ji postavljaš na NULL... ali i dalje ti je x varijabla tipa pointer na int :)
da, u glavnom imaš int* x, x je pointer na int... i ideš mijenjati u f-ji njegovu vrijednost (zato int** x)... u funkciju ga šalješ sa &x... dakle, adresu, pa se promjena vidi i u glavnom programu Smile
sa NULL dobiješ da ti je x null-pointer, poništavaš x, postavljaš ga na NULL... a uvijek imaš x, to ti je varijabla... tipa pointer na int( int*)... x i dalje ostaje pointer na int... samo je sad postavljen na vrijednost NULL... na početku je mogao bit nešto drugo, i sad ga ti u f-ji postavljaš na NULL... ali i dalje ti je x varijabla tipa pointer na int Smile



_________________
kalendar Bow to the left
Pa, ptica... Zar nije ocito? Hrcak
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail MSNM
Masiela
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2007. (22:28:01)
Postovi: (338)16
Spol: žensko
Sarma = la pohva - posuda
74 = 97 - 23
Lokacija: Među bananama

PostPostano: 22:17 čet, 7. 2. 2008    Naslov: Citirajte i odgovorite

Možda kužim :oops:
Da je umjesto NULL pisalo 5, onda bi mi *x u glavnom programu bilo 5?

I da li je NULL standardna oznaka za [i]nešto[/i] ili je to tu bezveze uzeto tek toliko da se nešto uzme?
Možda kužim Embarassed
Da je umjesto NULL pisalo 5, onda bi mi *x u glavnom programu bilo 5?

I da li je NULL standardna oznaka za nešto ili je to tu bezveze uzeto tek toliko da se nešto uzme?



_________________
mladac: e.k.s. je možda 8%, moje znanje ni toliko Sad
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 22:34 čet, 7. 2. 2008    Naslov: Citirajte i odgovorite

Recimo da zelis ovako nesto:

[code:1]void nullify(int *x) {
x = NULL;
}
int main(void) {
int *x;
nullify(x); // zamjena za x = NULL (ali neispravna!)
...
}[/code:1]
da bi ti [tt]x[/tt] postao nul-pointer, onda to ne mozes napraviti kako sam sada napisao, nego ti treba pointer na pointer:
[code:1]void nullify(int **x) {
x = NULL;
}
int main(void) {
int *x;
nullify(&x); // zamjena za x = NULL
...
}[/code:1]

Ocito, takva funkcija nije jako korisna, no recimo da zelim funkciju koja dinamicki alocira niz [tt]int[/tt]ova, ucitava ga i onda sa [tt]return[/tt] vraca duljinu niza. :-s To znaci da sam niz (tj. pointer na prvi element) moras vratiti kao argument funkcije. :) Tome sluzi ovaj "zadatak": da pokaze kako se radi kad u funkciji zelimo mijenjati pointer. 8)

Dinamicka alokacija se radi u drugom semestru i zato ovdje ne moze biti ozbiljniji primjer. ;)
Recimo da zelis ovako nesto:

Kod:
void nullify(int *x) {
  x = NULL;
}
int main(void) {
  int *x;
  nullify(x); // zamjena za x = NULL (ali neispravna!)
  ...
}

da bi ti x postao nul-pointer, onda to ne mozes napraviti kako sam sada napisao, nego ti treba pointer na pointer:
Kod:
void nullify(int **x) {
  x = NULL;
}
int main(void) {
  int *x;
  nullify(&x); // zamjena za x = NULL
  ...
}


Ocito, takva funkcija nije jako korisna, no recimo da zelim funkciju koja dinamicki alocira niz intova, ucitava ga i onda sa return vraca duljinu niza. Eh? To znaci da sam niz (tj. pointer na prvi element) moras vratiti kao argument funkcije. Smile Tome sluzi ovaj "zadatak": da pokaze kako se radi kad u funkciji zelimo mijenjati pointer. Cool

Dinamicka alokacija se radi u drugom semestru i zato ovdje ne moze biti ozbiljniji primjer. Wink



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 22:34 čet, 7. 2. 2008    Naslov: Citirajte i odgovorite

Null je standardno. To je pointer koji pokazuje na ništa. Svaki pointer , kad ga deklariraš u mainu pokazuje negdje u memoriji, al kad ga staviš na null onda ne pokazuje nigdje. Samo postoji neka kućica rezervirana negdje u memoriji. Da ga ne staviš na null onda bi kućica imala strelicu koja nekud pokazuje ;)
Null je standardno. To je pointer koji pokazuje na ništa. Svaki pointer , kad ga deklariraš u mainu pokazuje negdje u memoriji, al kad ga staviš na null onda ne pokazuje nigdje. Samo postoji neka kućica rezervirana negdje u memoriji. Da ga ne staviš na null onda bi kućica imala strelicu koja nekud pokazuje Wink



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
arya
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 30. 11. 2006. (20:10:37)
Postovi: (233)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
49 = 109 - 60
Lokacija: forum

PostPostano: 22:36 čet, 7. 2. 2008    Naslov: Citirajte i odgovorite

nije ti moglo pisat umjesto NULL 5, jer je x pointer na int, ne broj :) u f-ji ti je *x isto tipa pointer na int( ne int) jer je var. parametar... ova zvjezdica označava tu varijabilnost... dakle, ti u funkciji možeš pisat *x=nekakav pointer na int... jer je x tog tipa... i onda će u glavnom programu x postat to što si mu pridružila u funkciji... ne mijenja se *x, nego x :) a NULL je oznaka za null-pointer... jeste vi uopće do sad radili pointere baš detaljno ili ne?
ispričavam se ak slučajno pišem gluposti, ak netko primijeti tako nešto, nek me slobodno ispravi :)
nije ti moglo pisat umjesto NULL 5, jer je x pointer na int, ne broj Smile u f-ji ti je *x isto tipa pointer na int( ne int) jer je var. parametar... ova zvjezdica označava tu varijabilnost... dakle, ti u funkciji možeš pisat *x=nekakav pointer na int... jer je x tog tipa... i onda će u glavnom programu x postat to što si mu pridružila u funkciji... ne mijenja se *x, nego x Smile a NULL je oznaka za null-pointer... jeste vi uopće do sad radili pointere baš detaljno ili ne?
ispričavam se ak slučajno pišem gluposti, ak netko primijeti tako nešto, nek me slobodno ispravi Smile



_________________
kalendar Bow to the left
Pa, ptica... Zar nije ocito? Hrcak
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail MSNM
Masiela
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2007. (22:28:01)
Postovi: (338)16
Spol: žensko
Sarma = la pohva - posuda
74 = 97 - 23
Lokacija: Među bananama

PostPostano: 0:57 pet, 8. 2. 2008    Naslov: Citirajte i odgovorite

Hvala vam. Sutra ću ovo proučiti pa se javim. Sad mi je kasno :D
Hvala vam. Sutra ću ovo proučiti pa se javim. Sad mi je kasno Very Happy



_________________
mladac: e.k.s. je možda 8%, moje znanje ni toliko Sad
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Masiela
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2007. (22:28:01)
Postovi: (338)16
Spol: žensko
Sarma = la pohva - posuda
74 = 97 - 23
Lokacija: Među bananama

PostPostano: 21:02 pet, 8. 2. 2008    Naslov: Citirajte i odgovorite

Je li poanta da: Nismo prćkali po vrijednost od x nego po pointeru (mada mi nije jasna poanta, tj. ne vidim primjenu, ali valjda to ide kasnije kako vsego kaže). Automatski to znači da ide ** jer prćkamo po *x. Pošto je trebalo poništiti pokazivač, onda je pokazivač trebalo staviti na NULL vrijednost što je *x=NULL.
?


U potpisu: Ona koja sporo kopča :roll:
Je li poanta da: Nismo prćkali po vrijednost od x nego po pointeru (mada mi nije jasna poanta, tj. ne vidim primjenu, ali valjda to ide kasnije kako vsego kaže). Automatski to znači da ide ** jer prćkamo po *x. Pošto je trebalo poništiti pokazivač, onda je pokazivač trebalo staviti na NULL vrijednost što je *x=NULL.
?


U potpisu: Ona koja sporo kopča Rolling Eyes



_________________
mladac: e.k.s. je možda 8%, moje znanje ni toliko Sad
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 21:13 pet, 8. 2. 2008    Naslov: Citirajte i odgovorite

Ako imas
[tt]int **x[/tt],
onda je:
[table]Varijabla Tip
[tt]**x[/tt] [tt]int[/tt]
[tt]*x[/tt] [tt]int*[/tt] (pointer na [tt]int[/tt])
[tt]x[/tt] [tt]int**[/tt] (pointer na pointer na [tt]int[/tt])[/table]
Zamisli si da postoji tip "pointer na [tt]int[/tt]" koji se zove [tt]pint[/tt] (sad ce pivopije biti sretni ;)). Tada bi imala:
[code:1]void nulify(pint *x) {
*x = NULL;
}
int main(void) {
pint x;
nullify(&x); // zamjena za x = NULL
...
}[/code:1]
i nema nista cudno, ne? ;) I sada svuda umjesto [tt]pint[/tt] napises [tt]int *[/tt] i dobijes tocno ono sto pise u rjesenju zadatka. 8) Jasnije? :D
Ako imas
int **x,
onda je:
VarijablaTip
**xint
*xint* (pointer na int)
xint** (pointer na pointer na int)

Zamisli si da postoji tip "pointer na int" koji se zove pint (sad ce pivopije biti sretni Wink). Tada bi imala:
Kod:
void nulify(pint *x) {
  *x = NULL;
}
int main(void) {
  pint x;
  nullify(&x); // zamjena za x = NULL
  ...
}

i nema nista cudno, ne? Wink I sada svuda umjesto pint napises int * i dobijes tocno ono sto pise u rjesenju zadatka. Cool Jasnije? Very Happy



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
arya
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 30. 11. 2006. (20:10:37)
Postovi: (233)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
49 = 109 - 60
Lokacija: forum

PostPostano: 21:27 pet, 8. 2. 2008    Naslov: Citirajte i odgovorite

ma super objašnjeno, daleko bolje nego sva ona moja prijašnja pokušavanja ;)
mislim da bi sad svima trebalo bit jasno :)
ma super objašnjeno, daleko bolje nego sva ona moja prijašnja pokušavanja Wink
mislim da bi sad svima trebalo bit jasno Smile



_________________
kalendar Bow to the left
Pa, ptica... Zar nije ocito? Hrcak
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail MSNM
Masiela
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2007. (22:28:01)
Postovi: (338)16
Spol: žensko
Sarma = la pohva - posuda
74 = 97 - 23
Lokacija: Među bananama

PostPostano: 12:03 sub, 9. 2. 2008    Naslov: Citirajte i odgovorite

Je. Hvala puno :)
Svima troma ;)
Je. Hvala puno Smile
Svima troma Wink



_________________
mladac: e.k.s. je možda 8%, moje znanje ni toliko Sad
[Vrh]
Korisnički profil Pošaljite privatnu poruku
felixx
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 27. 11. 2007. (15:31:43)
Postovi: (61)16
Sarma = la pohva - posuda
13 = 23 - 10
Lokacija: *obrisano*

PostPostano: 13:03 sub, 9. 2. 2008    Naslov: Citirajte i odgovorite

ovaj thread me svakim danom sve vise zbunjuje...

probao sam skompjlirati neki dan ovako nesto

int main(void)
{
int *x;
x = NULL;
return 0;}

i to se kompajlira, ne kuzim zasto ne bi ovako pisali.... tj. cemu fja nullify? ima neki drugi catch ili ?
ovaj thread me svakim danom sve vise zbunjuje...

probao sam skompjlirati neki dan ovako nesto

int main(void)
{
int *x;
x = NULL;
return 0;}

i to se kompajlira, ne kuzim zasto ne bi ovako pisali.... tj. cemu fja nullify? ima neki drugi catch ili ?



_________________
bla bla
[Vrh]
Korisnički profil Pošaljite privatnu poruku YIM MSNM
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 13:18 sub, 9. 2. 2008    Naslov: Citirajte i odgovorite

Ko što je reko vsego, kasnije će to bit od pomoći...naravno da je fja kao takva nepotrebna i bezvezna, samo vas se hoće upoznat s pojmom višestrukog pointera i kak se s tim radi u funkcijama...dosta fja u prog2 i posebno u spa na 2.god vraća nekakav pointer, prima dupli pointer i slično, i samo se od vas traži da to skužite, ne da pišete takve funkcije koje su nepotrebne. Ako se varam, vsego će me zasigurno ispraviti ;)
Ko što je reko vsego, kasnije će to bit od pomoći...naravno da je fja kao takva nepotrebna i bezvezna, samo vas se hoće upoznat s pojmom višestrukog pointera i kak se s tim radi u funkcijama...dosta fja u prog2 i posebno u spa na 2.god vraća nekakav pointer, prima dupli pointer i slično, i samo se od vas traži da to skužite, ne da pišete takve funkcije koje su nepotrebne. Ako se varam, vsego će me zasigurno ispraviti Wink



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
ma
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 27. 01. 2007. (12:06:50)
Postovi: (347)16
Spol: muško
Sarma = la pohva - posuda
58 = 89 - 31

PostPostano: 13:26 sub, 9. 2. 2008    Naslov: Citirajte i odgovorite

[quote="felixx"] ima neki drugi catch ili ?[/quote]

mislim da je catch samo to da se shvati razlika između pointera kao varijable i učinka funkcije koja prima varijabilni argument.
felixx (napisa):
ima neki drugi catch ili ?


mislim da je catch samo to da se shvati razlika između pointera kao varijable i učinka funkcije koja prima varijabilni argument.



_________________
ima let u finish
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 13:26 sub, 9. 2. 2008    Naslov: Citirajte i odgovorite

[quote="Luuka"]Ako se varam, vsego će me zasigurno ispraviti ;)[/quote]

vsego te nece ispraviti, jer rijeci tvoje istinite su, gotovo kao one od Velikog Limuna... :wob:

;)
Luuka (napisa):
Ako se varam, vsego će me zasigurno ispraviti Wink


vsego te nece ispraviti, jer rijeci tvoje istinite su, gotovo kao one od Velikog Limuna... Bow to the left

Wink



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
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