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

red
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
Gost






PostPostano: 13:54 uto, 3. 2. 2004    Naslov: red Citirajte i odgovorite

Imali smo jedan zadatak kod redova. Izbaciti prvi element reda.
Rješenje je bilo ovakvo:

temp=q.front
x=info(temp)
q.front=next(q.front)
free(temp)

Može li mi to netko objasniti? Jer ako je q.front pokazivač na početak, što je onda info(temp) kad smo taj q.front strpali u temp. Ili je q.temp taj prvi element reda? Ništa mi tu nije jasno. :oops: :cry:
Imali smo jedan zadatak kod redova. Izbaciti prvi element reda.
Rješenje je bilo ovakvo:

temp=q.front
x=info(temp)
q.front=next(q.front)
free(temp)

Može li mi to netko objasniti? Jer ako je q.front pokazivač na početak, što je onda info(temp) kad smo taj q.front strpali u temp. Ili je q.temp taj prvi element reda? Ništa mi tu nije jasno. Embarassed Crying or Very sad


[Vrh]
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: 15:51 uto, 3. 2. 2004    Naslov: Citirajte i odgovorite

Je l' to UuR ili "[i]Strukture podataka[/i]"? :-k
Je l' to UuR ili "Strukture podataka"? Think



_________________
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
Gost






PostPostano: 16:06 uto, 3. 2. 2004    Naslov: Citirajte i odgovorite

To je UuR
To je UuR


[Vrh]
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: 18:09 uto, 3. 2. 2004    Naslov: Re: red Citirajte i odgovorite

Na slican nacin se to predaje na "[i]Strukturama podataka[/i]", pa me zbunilo. ;)

[code:1]temp=q.front[/code:1]

Da, q.front je pointer na prvi clan liste. 8)

[code:1]x=info(temp)[/code:1]

Funkcija info(ptr) pogleda sto se nalazi na adresi na koju pokazuje [i]ptr[/i] i onda vrati "korisni podatak". 8) Dakle, kod liste brojeva, ako imas:

[code:1]struct element{
int broj;
element *slijedeci;
}
element *temp;
temp->broj = 17;
x=info(temp)[/code:1]

Onda bi trebalo biti x == 17. 8)

[code:1]q.front=next(q.front)[/code:1]

Slicno, funkcija next(ptr) bi trebala vratiti [i]ptr->slijedeci[/i]. 8) Dakle, ova naredba postavi pocetak liste na (pointer na) drugi element liste. :? Efektivno, to ce izbaciti prvi element iz liste. :D

[code:1]free(temp)[/code:1]

Funkcija free(ptr) radi suprotno od alociraj(ptr): oslobadja memoriju na koju pokazuje pointer [i]ptr[/i]. 8)



Meni se [b]cini[/b] da to radi ovako kako sam napisao, ali ne mogu biti siguran jer ne pishe sto rade info() i next(). :roll:
Na slican nacin se to predaje na "Strukturama podataka", pa me zbunilo. Wink

Kod:
temp=q.front


Da, q.front je pointer na prvi clan liste. Cool

Kod:
x=info(temp)


Funkcija info(ptr) pogleda sto se nalazi na adresi na koju pokazuje ptr i onda vrati "korisni podatak". Cool Dakle, kod liste brojeva, ako imas:

Kod:
struct element{
  int broj;
  element *slijedeci;
}
element *temp;
temp->broj = 17;
x=info(temp)


Onda bi trebalo biti x == 17. Cool

Kod:
q.front=next(q.front)


Slicno, funkcija next(ptr) bi trebala vratiti ptr→slijedeci. Cool Dakle, ova naredba postavi pocetak liste na (pointer na) drugi element liste. Confused Efektivno, to ce izbaciti prvi element iz liste. Very Happy

Kod:
free(temp)


Funkcija free(ptr) radi suprotno od alociraj(ptr): oslobadja memoriju na koju pokazuje pointer ptr. Cool



Meni se cini da to radi ovako kako sam napisao, ali ne mogu biti siguran jer ne pishe sto rade info() i next(). Rolling Eyes



_________________
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
Gost






PostPostano: 18:42 uto, 3. 2. 2004    Naslov: Citirajte i odgovorite

Znači to bi trebalo ići nekak ovak:
pokazivač na prvi element spremimo u temp,
podatak na koji pokazuje temp (tj. pokazivač na prvi element) spremimo u x,
pokazivač s početka stavimo da pokazuje na drugi element liste (koji sad postaje prvi),
i oslobodimo temp.
Nije mi još jasno zakaj smo uopče napravili x=info(temp). Nebi to moglo funkcionirati bez toga? :boliglava: :boliglava: :boliglava:
Znači to bi trebalo ići nekak ovak:
pokazivač na prvi element spremimo u temp,
podatak na koji pokazuje temp (tj. pokazivač na prvi element) spremimo u x,
pokazivač s početka stavimo da pokazuje na drugi element liste (koji sad postaje prvi),
i oslobodimo temp.
Nije mi još jasno zakaj smo uopče napravili x=info(temp). Nebi to moglo funkcionirati bez toga? Boli glava Boli glava Boli glava


[Vrh]
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: 18:58 uto, 3. 2. 2004    Naslov: Citirajte i odgovorite

[quote="Anonymous"]Znači to bi trebalo ići nekak ovak:
pokazivač na prvi element spremimo u temp,
podatak na koji pokazuje temp (tj. pokazivač na prvi element) spremimo u x,
pokazivač s početka stavimo da pokazuje na drugi element liste (koji sad postaje prvi),
i oslobodimo temp.[/quote]

Tocno tako! =D>

[quote="Anonymous"]Nije mi još jasno zakaj smo uopče napravili x=info(temp). Nebi to moglo funkcionirati bez toga? :boliglava: :boliglava: :boliglava:[/quote]

Pa, pretpostavlja se da zelis zapamtiti podatak koji je tu bio, a ne ga samo obrisati. 8) Inace, za samo brisanje ti ta linija ne treba... :)
Anonymous (napisa):
Znači to bi trebalo ići nekak ovak:
pokazivač na prvi element spremimo u temp,
podatak na koji pokazuje temp (tj. pokazivač na prvi element) spremimo u x,
pokazivač s početka stavimo da pokazuje na drugi element liste (koji sad postaje prvi),
i oslobodimo temp.


Tocno tako! Applause

Anonymous (napisa):
Nije mi još jasno zakaj smo uopče napravili x=info(temp). Nebi to moglo funkcionirati bez toga? Boli glava Boli glava Boli glava


Pa, pretpostavlja se da zelis zapamtiti podatak koji je tu bio, a ne ga samo obrisati. Cool Inace, za samo brisanje ti ta linija ne treba... Smile



_________________
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
koryanshea
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 12. 10. 2003. (23:50:23)
Postovi: (442)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 27 - 10
Lokacija: Bebop (converted interplanetary trawler)

PostPostano: 19:57 uto, 3. 2. 2004    Naslov: Re: red Citirajte i odgovorite

[quote="vsego"]Meni se [b]cini[/b] da to radi ovako kako sam napisao, ali ne mogu biti siguran jer ne pishe sto rade info() i next(). :roll:[/quote]

na vjezbama "info(neshto)" i "next(neshto)" izgleda kao "neshto->broj" i "neshto->sljedeci" . mene je prilicno dovelo do ludila sto smo na predavanjima radili sve na taj drugi nacin, pa ucim iz toga, ali nisam naviknuta na to nego na ono s vjezbi. i onda si idem to prevest na ono s vjezbi, pa onda nadem nesto sto je nekako malo zbrckanije i ne znam sto je pjesnik htio reci, pa onda shiznem i tako :evil: :bad-words:
nema konstruktivnog rjesenja ovdje, samo zhugam... nemam kome drugo :cry:
vsego (napisa):
Meni se cini da to radi ovako kako sam napisao, ali ne mogu biti siguran jer ne pishe sto rade info() i next(). Rolling Eyes


na vjezbama "info(neshto)" i "next(neshto)" izgleda kao "neshto→broj" i "neshto→sljedeci" . mene je prilicno dovelo do ludila sto smo na predavanjima radili sve na taj drugi nacin, pa ucim iz toga, ali nisam naviknuta na to nego na ono s vjezbi. i onda si idem to prevest na ono s vjezbi, pa onda nadem nesto sto je nekako malo zbrckanije i ne znam sto je pjesnik htio reci, pa onda shiznem i tako Evil or Very Mad #Cussing out
nema konstruktivnog rjesenja ovdje, samo zhugam... nemam kome drugo Crying or Very sad



_________________
"Download the files to a non-networked, firewalled computer."
- Dr. Elizabeth Weir
[Vrh]
Korisnički profil Pošaljite privatnu poruku
defar
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 01. 2004. (01:37:19)
Postovi: (152)16
Sarma = la pohva - posuda
= 5 - 0

PostPostano: 0:21 sri, 4. 2. 2004    Naslov: Citirajte i odgovorite

eaaaaaaaaaaaaaaaaaaaaaaasyyyyyyyyyyyy :D

pa to je jedno te isto, a u stvari je to ovo:

struct element(
int broj;
struct elm *next;
) elm;

elm neshto;

sad ak hoces procitat sto pise u n-tom elementu u "pretincu broj, to se pise
x=neshto.broj
a ako hoces adresu slijedeceg elementa liste , kazes lijepo
adr=neshto.next

int info(elm neshto) je funkcija koja vraca neshto.broj
elm *next(elm neshto) je funkcija koja vraca adresu sljedeceg elementa u listi.

ovo sa strelicama je neki zbunjujuci shortcut.

jetogana! ;) (ps ides na crtice u subotu?)
[/b]
eaaaaaaaaaaaaaaaaaaaaaaasyyyyyyyyyyyy Very Happy

pa to je jedno te isto, a u stvari je to ovo:

struct element(
int broj;
struct elm *next;
) elm;

elm neshto;

sad ak hoces procitat sto pise u n-tom elementu u "pretincu broj, to se pise
x=neshto.broj
a ako hoces adresu slijedeceg elementa liste , kazes lijepo
adr=neshto.next

int info(elm neshto) je funkcija koja vraca neshto.broj
elm *next(elm neshto) je funkcija koja vraca adresu sljedeceg elementa u listi.

ovo sa strelicama je neki zbunjujuci shortcut.

jetogana! Wink (ps ides na crtice u subotu?)
[/b]


[Vrh]
Korisnički profil Pošaljite privatnu poruku
krcko
Forumaš nagrađen za životno djelo
Forumaš nagrađen za životno djelo


Pridružen/a: 07. 10. 2002. (15:57:59)
Postovi: (18B3)16
Sarma = la pohva - posuda
655 = 759 - 104

PostPostano: 0:40 sri, 4. 2. 2004    Naslov: Re: red Citirajte i odgovorite

[quote="koryanshea"]i onda si idem to prevest na ono s vjezbi, pa onda nadem nesto sto je nekako malo zbrckanije i ne znam sto je pjesnik htio reci, pa onda shiznem i tako :evil: :bad-words: [/quote]

Je zbrckanije, ali tako ces pisati iduci semestar na C-u. U trenutku kad su vezane liste i stabla usla u program UUR-a, ucinilo mi se najbezbolnije pricati o [i]implementacijama[/i] toga (sa stanovista zadavanja i rjesavanja zadataka). Mislim da je prerano za pristup preko 'apstraktnih tipova podataka' kao na SPA-u. A implementacija pomocu C-ovskih pointera se nametnula sama po sebi, jer se tada u drugom semestru preslo na C.

Priznajem da C-ovske strelice stvaraju prilicnu zbrku kod ljudi koji se prvi puta susrecu sa pointerima. A i nezgodne su za pisat po ploci (zapravo za pisat bilogdje, osim na ASCII-tastaturi).
koryanshea (napisa):
i onda si idem to prevest na ono s vjezbi, pa onda nadem nesto sto je nekako malo zbrckanije i ne znam sto je pjesnik htio reci, pa onda shiznem i tako Evil or Very Mad #Cussing out


Je zbrckanije, ali tako ces pisati iduci semestar na C-u. U trenutku kad su vezane liste i stabla usla u program UUR-a, ucinilo mi se najbezbolnije pricati o implementacijama toga (sa stanovista zadavanja i rjesavanja zadataka). Mislim da je prerano za pristup preko 'apstraktnih tipova podataka' kao na SPA-u. A implementacija pomocu C-ovskih pointera se nametnula sama po sebi, jer se tada u drugom semestru preslo na C.

Priznajem da C-ovske strelice stvaraju prilicnu zbrku kod ljudi koji se prvi puta susrecu sa pointerima. A i nezgodne su za pisat po ploci (zapravo za pisat bilogdje, osim na ASCII-tastaturi).



_________________
Vedran Krcadinac

Ljudi su razliciti, a nula je paran broj.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
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: 1:07 sri, 4. 2. 2004    Naslov: Citirajte i odgovorite

[quote="defar"]ovo sa strelicama je neki zbunjujuci shortcut.[/quote]

To je stvar C-a. :) Potpuno je identicno: [color=darkblue][i](*x).nesto[/i][/color] i [color=darkblue][i]x->nesto[/i][/color]. 8)

[quote="krcko"]Priznajem da C-ovske strelice stvaraju prilicnu zbrku kod ljudi koji se prvi puta susrecu sa pointerima. A i nezgodne su za pisat po ploci (zapravo za pisat bilogdje, osim na ASCII-tastaturi).[/quote]

Pa i nije tako neintuitivno. Npr. int *x se crta ovako nekako:

[code:1] +-----------+
x -----> | neki broj |
+-----------+[/code:1]

To docarava da "[i]x sadrzi adresu 'kucice' (memorijske lokacije) na kojoj se nalazi neki broj[/i]". Kod struct-ova (zapisa) to izgleda ovako:

[code:1] +-----------+
x -----> | broj |
+-----------+
| slijedeci |
+-----------+[/code:1]

Dakle "[i]x->broj[/i]" znaci "[i]kreni od x, slijedi strelicu i uzmi 'broj'[/i]". :D Tako ja objasnjavam svojima i glume da im je jasno. 8) ;)
defar (napisa):
ovo sa strelicama je neki zbunjujuci shortcut.


To je stvar C-a. Smile Potpuno je identicno: (*x).nesto i x→nesto. Cool

krcko (napisa):
Priznajem da C-ovske strelice stvaraju prilicnu zbrku kod ljudi koji se prvi puta susrecu sa pointerima. A i nezgodne su za pisat po ploci (zapravo za pisat bilogdje, osim na ASCII-tastaturi).


Pa i nije tako neintuitivno. Npr. int *x se crta ovako nekako:

Kod:
          +-----------+
x ----->  | neki broj |
          +-----------+


To docarava da "x sadrzi adresu 'kucice' (memorijske lokacije) na kojoj se nalazi neki broj". Kod struct-ova (zapisa) to izgleda ovako:

Kod:
          +-----------+
x ----->  | broj      |
          +-----------+
          | slijedeci |
          +-----------+


Dakle "x→broj" znaci "kreni od x, slijedi strelicu i uzmi 'broj'". Very Happy Tako ja objasnjavam svojima i glume da im je jasno. Cool 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
koryanshea
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 12. 10. 2003. (23:50:23)
Postovi: (442)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 27 - 10
Lokacija: Bebop (converted interplanetary trawler)

PostPostano: 8:56 sri, 4. 2. 2004    Naslov: Citirajte i odgovorite

[quote="defar"]ovo sa strelicama je neki zbunjujuci shortcut.[/quote]

ne ne, ja vooolim strelice, na strelice sam navikla. na ono s predavanja nisam, jer to sam vidila jednom, a na vjezbama smo se sa strelicama druzili neko vrime i nisu lose, ono cile su friendly i to :) ono nesto se dogovaramo za kavu posli ispita :morning:
defar (napisa):
ovo sa strelicama je neki zbunjujuci shortcut.


ne ne, ja vooolim strelice, na strelice sam navikla. na ono s predavanja nisam, jer to sam vidila jednom, a na vjezbama smo se sa strelicama druzili neko vrime i nisu lose, ono cile su friendly i to Smile ono nesto se dogovaramo za kavu posli ispita #morning



_________________
"Download the files to a non-networked, firewalled computer."
- Dr. Elizabeth Weir
[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