HITNO potrebno objasnjenje jednog koda u C-u

HITNO potrebno objasnjenje jednog koda u C-u

offline
  • Pridružio: 20 Jan 2009
  • Poruke: 3

Ovo je jedna f-ja za upis matrice ,realizovane preko dvostruko povezanih lisli.
Bilo bi super ako bi neko mogao da mi pomogne u tumacenju,tj. ne kapiram sta koji pokazivac radi.
p-ide na desno kroz vrstu
r-ide (valjda) kroz prvu kolonu
a sta radi q??

Bas mi je potrebno razjasnjenje,pa bih molila da mi neko pomogne,potrebno mi je za prekosutra ;-(

Cvor *upis(Cvor *koren) {    int n,m,i,j;    int k;    Cvor *novi,*p,*q,*r;    printf("  Broj vrsta matrice   ");    scanf("%d",&n);    printf("  Broj kolona matrice  ");    scanf("%d",&m);    printf("\n");    koren=NULL;    printf("  Elementi matrice\n\n");                for(i=1;i<=n;i++)  {                        for(j=1;j<=m;j++)   {                                                              printf("Unesi element [%d,%d]=",i,j);                                                              scanf("%d",&k);                                                             novi=(Cvor*)malloc(sizeof(Cvor));                     novi->vrednost=k;                                                              novi->desno=NULL;                                                              novi->levo=NULL;                                                       if(i==1&&j==1){  koren=novi;                             p=q=r=koren;                             }                                                             if(i==1&&j==1)continue;                                                                                          if((j!=1)&&(i==1)){                             p->desno=novi;                             p=p->desno;                     }                                                                                 if((j==1)&&(i>1)){                                 r->levo=novi;                                 q=r->desno;                                 r=r->levo;                                 p=r;                         }                                                                                                                                                                                                                                                                                                                                                                                                                                                                           if((j!=1)&&(i>1))  {                         q->levo=novi;                         q=q->desno;                         p->desno=novi;                         p=p->desno;                 }                                                                                                                                                                                                    }               }                  return koren; }



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 18 Apr 2003
  • Poruke: 5001
  • Gde živiš: Beograd

Koliko sam ja shvatio r je levo, q je desno a p je poslednji element koji je dodat. Varijabla "koren" pokazuje na prvi element matrice.

Ovako napamet prolazeci kroz petlju cini mi se da ima greska u kodu koja ce da pojavi kod q->levo=novi; ali nemam kompletan kod da bi isprobao.



Ko je trenutno na forumu
 

Ukupno su 1536 korisnika na forumu :: 106 registrovanih, 15 sakrivenih i 1415 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 6018 - dana 19 Dec 2025 13:41

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, A.R.Chafee.Jr., Agape, ajo baba, AleksSE, amadeus, avijacija, babaroga, Bojan198527, Bombona, Brankojle, Bubimir, cenejac111, CHARLIE JA., Crazzer, cyprus, darcaud, dekan.m, desmeki, Dexlex, dexteroza, Dimitrise93, Djokislav, Djuza, dnevnasoba, doktor097, dragan_mig31, drimer, Džekson, Electron, Ercomero, eulereix, FOX, galerija, gobrad, HrcAk47, icemilos, ikan, Ir, ivan1973, Jakonjveliki, Jerry Drake, Kazablankasrb, Kruger, Kuroje, Litostroton, luka35, mat, Miha79, mikidragi, mikrimaus, Milan1996, milenko crazy north, Milo97, Miškić, mushroom, nisamBot, NklJov123, oddsock, oldusername, paja69, pavle_pzs, powSrb, pravapot, Primus17, radovanstojkov023, raptorsi, raso76, raster12, repac, RileHerc, RiV, ruso, Samo gledam, samoborac, SANDRO1973, septembar, Sevatar, Sharpshooter, Skakac7, Skenderbeg, Smajser, starlights, stegonosa, strn, svnedelja, SympathyForTheDevil, tesa, Tila Painen, tmanda323, tomo2, TripleTwo, ujke, uljmanac, Velizar Laro, vensla, vladoje, vuksa72, yip314, zdrebac, zlaya011, zmajognjeniivan, Zoran Rapajić, Zrcalo, 79693, 800077