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 922 korisnika na forumu :: 63 registrovanih, 6 sakrivenih i 853 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 015, amaterSRB, Bacac, Ben Roj, bestguarder, bobomicek, Darkoniii_94, doktor097, drimer, Duh sa sekirom, dusanobr, Ezbuck, FOX, Gogi_avio, gomago, goxin, janezek67, Jose, Jovan1983, kolle.the.kid, Kubovac, kybonacci, lafa008, ljuba.b, mercedesamg, mikrimaus, milos.cbr, MiroslavD, Motocar, Mrav Obrad, Mzee, Najax, nazgul75, Nemanja Opalić, nemkea71, nenad81, niksa517, Nomica, nuke92, Oscar, pceklic, pein, Pilence, PrincipL, Putnik22, raptorsi, RJ, SamostalniReferent, sedan, sekretar, Sićko, Smiljke, stalja, TRZH92, Vanderx, Vaske8990, Velizar Laro, VJ, Vlada1389, Vzor50, zanimame, ZZZ, 79693