• 2 odgovora
  • 4.985 pregleda
Kako do mreze pointera? 28.04.2006. u 19:54 · pre 249 meseci #1
Trebalo bi da odradim u C-u unos elemenata matrice gde bi se matrica pamtila kao mreza pointera. Imam ideju da to realizujem pomocu dvostrukih pointera ali ne radi kako treba.Znam da sam previse iskomplikovala ali nikako ne radi? Zasto? Hvala
Code:

typedef struct cvor {
float sadrzaj;
struct cvor *levo;
struct cvor *desno;
  } BCVOR;
   main()
{  int n,m,i,j;
   float k;
   BCVOR *koren,*novi,*p,*q,*r,*d; 
   koren=NULL;
    
   printf(" Unesi broj vrsta matrice\n");
   scanf("%d",&n);
   printf("Unesi broj kolona matrice\n");
   scanf("%d",&m);
   printf("Unesi elemente matrice");

 for(i=1;i<=n;i++)  {  if (!(koren==NULL))  {    
                                                                            r=q;
                                                                            q=q->levo;
                                                                            p=q;
                                                                            
                                                                         }
                       for(j=1;j<=m;j++)   {
                                                         printf("\n a[%d][%d]=",i,j);
                                                         scanf("%f",&k);
                                                         novi=(BCVOR*)malloc(sizeof(BCVOR));novi->sadrzaj=k;
                                                    novi->desno=NULL;
                                                    novi->levo=NULL;
if(i==1&&j==1){
koren=novi;p=q=koren;}
if(i==1&&j==1)continue;
                                                         if(koren==q)  { 
                                                                                    p->desno=novi;
                                                                                    p=p->desno;  
                                                                                 }
             else{ if(j==1) {p=novi;r->levo=novi;}

                                                               else {   r=r->desno;
                                                                            p->desno=novi;
                                                                            p=p->desno;
                                                                            r->levo=novi;
                                                                       }
                                                         }
  
                                                 r=q;                                                                                                                                                                                                                                                                                                                                                                                                               
                                                          
                                                 }
                 
                     }
Re: Kako do mreze pointera? 23.11.2006. u 00:19 · pre 242 meseci #2
Ako vec hoces mrezu pointera definisi ih sa npr
int **matr_A,**matr_B;

nema potrebe za strukturom i silnim pointerima ...

Ako nisi resila ili te zanima ta tema i dalje,ja sam pisao za domaci nesto na tu foru.Mail mi je [email protected]
Re: Kako do mreze pointera? 07.12.2006. u 05:52 · pre 242 meseci #3
princip je sledeći:
Code:

int **grid;
grid = new grid*[n];
for (int i=0; i<n; i++)
   grid[i]=new grid[n];


ps: sad tek vidim da je ovo c forum. Samo zamjeni c++ operator new sa malloc i radice.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme