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

UUR: ZADATAK!!!!

Moja sarma
 
Započnite novu temu   Ova tema je zaključana: ne možete uređivati postove niti odgovarati.   printer-friendly view    Forum@DeGiorgi: Početna -> Ostalo - ozbiljno -> Čistilište
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
Gost






PostPostano: 19:56 sri, 25. 8. 2004    Naslov: UUR: ZADATAK!!!! Citirajte i odgovorite

NAPISITE FUNKCIJU KOJA KAO ARGUMENT UZIMA POINTER NA POCETAK VEZANE LISTE KOJA SADRZI ZAPISE TIPA BROJEVI A KAO IZLAZ VRACA POINTERE NA POCETKE LISTE PARNIH I LISTE NEPARNIH BROJEVA U ORIGINALNOM(NESORTIRANOM)REDOSLJEDU.NIJE DOZVOLJENO KORISTITI FUNKCIJU ALOCIRAJ NITI MJENJATI SADRZAJ POJEDINIH ZAPISA LISTE.(ZA LISTU 1,4,2,3 VRACA LISTU 1,3 I 4,2)

MOLIM DOBRU DUSU DA MI RJESI OVAJ ZADATAK.TNX
NAPISITE FUNKCIJU KOJA KAO ARGUMENT UZIMA POINTER NA POCETAK VEZANE LISTE KOJA SADRZI ZAPISE TIPA BROJEVI A KAO IZLAZ VRACA POINTERE NA POCETKE LISTE PARNIH I LISTE NEPARNIH BROJEVA U ORIGINALNOM(NESORTIRANOM)REDOSLJEDU.NIJE DOZVOLJENO KORISTITI FUNKCIJU ALOCIRAJ NITI MJENJATI SADRZAJ POJEDINIH ZAPISA LISTE.(ZA LISTU 1,4,2,3 VRACA LISTU 1,3 I 4,2)

MOLIM DOBRU DUSU DA MI RJESI OVAJ ZADATAK.TNX


[Vrh]
ZELENIZUBNAPLANETIDO
SADE

Forumaš(ica)
Forumaš(ica)


Pridružen/a: 04. 03. 2004. (19:56:15)
Postovi: (54F)16
Sarma = la pohva - posuda
= 12 - 5
Lokacija: hm?

PostPostano: 21:15 sri, 25. 8. 2004    Naslov: Re: ZADATAK!!!! Citirajte i odgovorite

[quote="Anonymous"]NAPISITE FUNKCIJU KOJA KAO ARGUMENT UZIMA POINTER NA POCETAK VEZANE LISTE KOJA SADRZI ZAPISE TIPA BROJEVI A KAO IZLAZ VRACA POINTERE NA POCETKE LISTE PARNIH I LISTE NEPARNIH BROJEVA U ORIGINALNOM(NESORTIRANOM)REDOSLJEDU.NIJE DOZVOLJENO KORISTITI FUNKCIJU ALOCIRAJ NITI MJENJATI SADRZAJ POJEDINIH ZAPISA LISTE.(ZA LISTU 1,4,2,3 VRACA LISTU 1,3 I 4,2)

MOLIM DOBRU DUSU DA MI RJESI OVAJ ZADATAK.TNX[/quote]
Prvo kritika:
[list] [1] naslov topica je _krajnje_ neinformativan i ako ovaj topic vec nece biti obrisan, onda iduci sigurno hoce
[2] tekst posta je usprkos krajnje uobicajenom karakteru postavljenog pitanja sasvim dovoljno dramatican i bez 4 usklicnika u naslovu i.. :roll:
[3] sa lijeve strane velike vecine tastatura postoji tipka na kojoj najcesce pise "Caps Lock" sa kojim mozes birati izmedju velikih i malih slova (neke tastature imaju i indikator u obliku male lampice o tome da li je taj caps lock ukljucen).
[4] ukoliko je tocka [3] u tvojem uhu ucinila uvredljiv prizvuk zbog podcijenjivanja tvoga vlastitog poznavanja kompjutera onda bih ti ipak uputio molbu da se ubuduce obracas ljudima oko sebe u malim slovima, buduci da je a) preglednije i b) u nekim krugovima se smatra nepristojnim buduci da velika slova simboliziraju vikanje/urlanje[/list:u]
Sada na pitanje:
ok, znaci imamo nesortiranu vezanu listu (jednostruko povezanu pretpostavljam, que?) i pretpostavljam da je dozvoljeno barem mijenjanje linkova medju elementima liste?
head cemo zvati pointer na prvi element pocetne liste,
head0 i head1 za parne tj. ne parne brojeve
definiram strukturu:
[code:1]tip tnode {
// zapis broja
int i;
// pointer na iduci clan
tnode *next;
}[/code:1]

ideja algoritma jest da se pocnu formirati lista parnih i lista neparnih brojeva rastavljajuci ukupnu listu brojeva i to tako da:
[code:1]funkcija vrati_liste(tnode *head, tnode **head0, **head1) {
tip *cur, *cur0, *cur1;
*head0=NULL; *head1=NULL;
cur=head;
// imamo petlju koja vrti elemente ukupne liste
while( cur != NULL) {
// ako je trenutacni element paran ....
if( cur->i %2 == 0 ) {
// ubaci ga u listu tako da od stare(ukupne) liste gradis dvije nove (parnu i neparnu)
// to ce unistit staru listu, ali ces kao izlaz dobiti ono sto si trazio,
// vidi dalje kod:
if( head0 == NULL) {
*head0=cur;
cur0=head0;
cur=cur->next;
cur0->next=NULL;
} else {
cur0->next=cur;
cur0=cur;
cur=cur->next;
cur0->next=NULL;
}
// u potpunosti analogno za neparne brojeve
else {
if( head1 == NULL) {
*head1=cur;
cur1=head1;
cur=cur->next;
cur1->next=NULL;
} else {
cur1->next=cur;
cur1=cur;
cur=cur->next;
cur1->next=NULL;
}
}
return
}[/code:1]
I kraj :) nije tako strasno kako izgleda, ima mnogo skoro-pa-identicnih linija, al kljucnih su onih 4 poslije if-a i 4 poslije prvog else-a, tamo treba paziti da se namjesti cur0->next i head0 bez da "ozlijedis" zapis od cur->next :? (uoci da cur=cur->next dolazi _prije_ cur0->next=NULL)
(u slucaju neparnog broja potpuno analogno, tamo di pise 0 napises 1 ;))

sretno sa ispitom i manje nervoze kod postavljanja pitanja (95% problema dobije rijesenje u nekoliko sati, iako _veliku_ prenost imaju ona pitanja u kojima autor objasnjava sto je sve pokusao uciniti da rijesi zadatak i na cemu je zapeo), ako ti nesto nije jasno ili ti nije nacisto kako da to protumacis, samo postavi pitanje. Small caps pliz ;)

DISKLEJMER: unaprijed isprika ako sam fulao pseudojezik koji ste vec koristili na predavanjima buduci da se on mijenja skoro svake godine :? opet, ako nesto nije jasno, javi
Anonymous (napisa):
NAPISITE FUNKCIJU KOJA KAO ARGUMENT UZIMA POINTER NA POCETAK VEZANE LISTE KOJA SADRZI ZAPISE TIPA BROJEVI A KAO IZLAZ VRACA POINTERE NA POCETKE LISTE PARNIH I LISTE NEPARNIH BROJEVA U ORIGINALNOM(NESORTIRANOM)REDOSLJEDU.NIJE DOZVOLJENO KORISTITI FUNKCIJU ALOCIRAJ NITI MJENJATI SADRZAJ POJEDINIH ZAPISA LISTE.(ZA LISTU 1,4,2,3 VRACA LISTU 1,3 I 4,2)

MOLIM DOBRU DUSU DA MI RJESI OVAJ ZADATAK.TNX

Prvo kritika:
    [1] naslov topica je _krajnje_ neinformativan i ako ovaj topic vec nece biti obrisan, onda iduci sigurno hoce
    [2] tekst posta je usprkos krajnje uobicajenom karakteru postavljenog pitanja sasvim dovoljno dramatican i bez 4 usklicnika u naslovu i.. Rolling Eyes
    [3] sa lijeve strane velike vecine tastatura postoji tipka na kojoj najcesce pise "Caps Lock" sa kojim mozes birati izmedju velikih i malih slova (neke tastature imaju i indikator u obliku male lampice o tome da li je taj caps lock ukljucen).
    [4] ukoliko je tocka [3] u tvojem uhu ucinila uvredljiv prizvuk zbog podcijenjivanja tvoga vlastitog poznavanja kompjutera onda bih ti ipak uputio molbu da se ubuduce obracas ljudima oko sebe u malim slovima, buduci da je a) preglednije i b) u nekim krugovima se smatra nepristojnim buduci da velika slova simboliziraju vikanje/urlanje

Sada na pitanje:
ok, znaci imamo nesortiranu vezanu listu (jednostruko povezanu pretpostavljam, que?) i pretpostavljam da je dozvoljeno barem mijenjanje linkova medju elementima liste?
head cemo zvati pointer na prvi element pocetne liste,
head0 i head1 za parne tj. ne parne brojeve
definiram strukturu:
Kod:
tip tnode {
// zapis broja
   int i;
// pointer na iduci clan
   tnode *next;
}


ideja algoritma jest da se pocnu formirati lista parnih i lista neparnih brojeva rastavljajuci ukupnu listu brojeva i to tako da:
Kod:
funkcija vrati_liste(tnode *head, tnode **head0, **head1) {
   tip *cur, *cur0, *cur1;
   *head0=NULL; *head1=NULL;
   cur=head;
// imamo petlju koja vrti elemente ukupne liste
   while( cur != NULL) {
// ako je trenutacni element paran ....
      if( cur->i %2 == 0 ) {
// ubaci ga u listu tako da od stare(ukupne) liste gradis dvije nove (parnu i neparnu)
// to ce unistit staru listu, ali ces kao izlaz dobiti ono sto si trazio,
// vidi dalje kod:
         if( head0 == NULL) {
            *head0=cur;
            cur0=head0;
            cur=cur->next;
            cur0->next=NULL;
         } else {
            cur0->next=cur;
            cur0=cur;
            cur=cur->next;
            cur0->next=NULL;
         }
// u potpunosti analogno za neparne brojeve
      else {
         if( head1 == NULL) {
            *head1=cur;
            cur1=head1;
            cur=cur->next;
            cur1->next=NULL;
         } else {
            cur1->next=cur;
            cur1=cur;
            cur=cur->next;
            cur1->next=NULL;
      }
   }
   return
}

I kraj Smile nije tako strasno kako izgleda, ima mnogo skoro-pa-identicnih linija, al kljucnih su onih 4 poslije if-a i 4 poslije prvog else-a, tamo treba paziti da se namjesti cur0→next i head0 bez da "ozlijedis" zapis od cur→next Confused (uoci da cur=cur→next dolazi _prije_ cur0→next=NULL)
(u slucaju neparnog broja potpuno analogno, tamo di pise 0 napises 1 Wink)

sretno sa ispitom i manje nervoze kod postavljanja pitanja (95% problema dobije rijesenje u nekoliko sati, iako _veliku_ prenost imaju ona pitanja u kojima autor objasnjava sto je sve pokusao uciniti da rijesi zadatak i na cemu je zapeo), ako ti nesto nije jasno ili ti nije nacisto kako da to protumacis, samo postavi pitanje. Small caps pliz Wink

DISKLEJMER: unaprijed isprika ako sam fulao pseudojezik koji ste vec koristili na predavanjima buduci da se on mijenja skoro svake godine Confused opet, ako nesto nije jasno, javi



_________________

Pupoljak nije negiran. Rekao sam to i ponovit cu to jos jedanput. Pupoljak NIJE negirAn.
MADD
(Mothers Against Dirty Dialectics)
Based on a true story. NOT.
Ko ih sljivi, mi sviramo punk Wink
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
vsego
Site Admin
Site Admin


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

PostPostano: 21:41 sri, 25. 8. 2004    Naslov: Citirajte i odgovorite

[list=1][*] To je, cini mi se, moj zadatak. :-s Dakle, rjesenje je dano na download na sluzbenim stranicama UuRa. :D Ako slucajno nedostaje, molim obavijestiti me e-mailom (vsego na math.hr) ili PMom.
[*] Posto je odgovoreno, topic cu samo zalockati; inace uglavnom micem topice losih subjecata jer mi je postalo prenaporno da ih sam editiram. :roll:
Lijepi subjecti se traze zbog korisnika, a gosti koji samo povremeno "svrate" na Forum bi se toga trebali pridrzavati kao pristojni gosti u tudjoj kuci. 8)
[*] Opaska o velikim slovima apsolutno stoji... :?
[*] Onako, odokativno, rekao bih da umjesto
"[i]if( head0 == NULL)[/i]"
treba ici
"[i]if( *head0 == NULL)[/i]" 8)[/list:o]
  1. To je, cini mi se, moj zadatak. Eh? Dakle, rjesenje je dano na download na sluzbenim stranicama UuRa. Very Happy Ako slucajno nedostaje, molim obavijestiti me e-mailom (vsego na math.hr) ili PMom.
  2. Posto je odgovoreno, topic cu samo zalockati; inace uglavnom micem topice losih subjecata jer mi je postalo prenaporno da ih sam editiram. Rolling Eyes
    Lijepi subjecti se traze zbog korisnika, a gosti koji samo povremeno "svrate" na Forum bi se toga trebali pridrzavati kao pristojni gosti u tudjoj kuci. Cool
  3. Opaska o velikim slovima apsolutno stoji... Confused
  4. Onako, odokativno, rekao bih da umjesto
    "if( head0 == NULL)"
    treba ici
    "if( *head0 == NULL)" Cool



_________________
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   Ova tema je zaključana: ne možete uređivati postove niti odgovarati.   printer-friendly view    Forum@DeGiorgi: Početna -> Ostalo - ozbiljno -> Čistilište 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 can 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