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;
}
|