Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa alociranjem memorije (ja bar mislim)

[es] :: C/C++ programiranje :: Problem sa alociranjem memorije (ja bar mislim)

[ Pregleda: 2536 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

jankie88
Igor Janošev
Beograd

Član broj: 22935
Poruke: 27
*.dynamic.sbb.co.yu.



Profil

icon Problem sa alociranjem memorije (ja bar mislim)05.04.2007. u 15:31 - pre 207 meseci
Ja mozda ne znam mnogo o programiranju u c-u, ali sam gledao kod i ne mogu da provalim o cemu se radi...
Iskompajlira ga savrseno, ali kada pokrenem program on pukne i pojavi mi se onaj prozor send/don't send report to microsoft...
Ubacio sam kod i u dev-c++ i code:blocks (oba su MingW32), isto se desava...
da li bi trebalo nesto da dodam...

Code:

#include <stdio.h>
#include <stdlib.h>
struct cvor{
       int a;
       int b;
       struct cvor *l;
       struct cvor *d;
};
struct cvor* ubaci(struct cvor *koren, int j){
       struct cvor *t, *p, *pom;
       int k = 0;
       t = koren;
       p = NULL;
       while((t) && (!k)){
                p = t;
                if (j < t->a) t = t->l;
                else if (j > t->a) t = t->d;
                else k = 1;
       };
       if (k = 1){
             t->b++;
             return koren;
       };
       pom = (struct cvor*)malloc(sizeof(struct cvor));
       pom->a = j;
       pom->b = 1;
       if (!p) return pom;
       if (j < p->a) p->l = pom;
       else p->d = pom;
       return koren;
};
int main(int argc, char *argv[]){
    struct cvor *t = NULL;
    t = ubaci(t, 1);
    printf("%d\n", t->a);
    system("PAUSE");
    return 0;
}

please help!!!
All it takes is one bad day to reduce the sanest man alive to lunacy!
That's how far the world is from where I am: Just one bad day...
 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
218.1.28.*

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: Problem sa alociranjem memorije (ja bar mislim)06.04.2007. u 02:58 - pre 207 meseci
Napravi debug verziju programa i vidi gde/zašto puca.
 
Odgovor na temu

Dralac
Drazen Radanovic
RS

Član broj: 29362
Poruke: 307
194.106.186.*



Profil

icon Re: Problem sa alociranjem memorije (ja bar mislim)06.04.2007. u 13:02 - pre 207 meseci
U ovome djelu koda si promenjivoj "k" dodjeljivao 1, a valjda si trebao da ispitas (sto se pise sa dva znaka "= =") da li je k==1;
Posle te prepravke meni je radio

while((t) && (!k)){
p = t;
if (j < t->a) t = t->l;
else if (j > t->a) t = t->d;
else k = 1;
}
_____________________
if (k == 1)
_____________________
{
t->b++;
return koren;
}
pom = (struct cvor*)malloc(sizeof(struct cvor));
pom->a = j;
pom->b = 1;
if (!p) return pom;


Nikada ne idem sa mamom u prodavnicu, jer tamo živi zla teta koja nam uzme sve pare.
 
Odgovor na temu

jankie88
Igor Janošev
Beograd

Član broj: 22935
Poruke: 27
*.hemo.net.



Profil

icon Re: Problem sa alociranjem memorije (ja bar mislim)06.04.2007. u 14:20 - pre 207 meseci
Da, i meni je radilo...
Možda opet nešto ne vidim, ali kada ubacim...
Čisto radi provere...
Code:

      pom = (struct cvor*)malloc(sizeof(struct cvor)); // ovo je već bilo
      if (!pom){
        printf("greshka\n");
        system("PAUSE");
        exit(1);
      };


i u main-u
Code:

    int ik;
    for(ik = 0; ik < 7; ik++){
      t = ubaci(t, 7 - ik);
      t = ubaci(t, 8 + ik);
    };


i opet ne radi...
All it takes is one bad day to reduce the sanest man alive to lunacy!
That's how far the world is from where I am: Just one bad day...
 
Odgovor na temu

[es] :: C/C++ programiranje :: Problem sa alociranjem memorije (ja bar mislim)

[ Pregleda: 2536 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.