Forum » Programiranje » [NALOGA][C] fri-vsp - strukture (struct)
[NALOGA][C] fri-vsp - strukture (struct)

atlet ::
Ima kdo kako podobno nalogo tej, ali kak primer? Mi lahko kdo resi to nalogo? :p
Napisi funkcijo dodaj, ki v definiran seznam doda novo besedo in vrne kazalec na zacetek novega seznama. Kazalec na zacetek seznama in niz znakov, ki ga dodajamo, sta podana kot argument funkcije.
struct elCrka {
char crka;
struct elCrka *naslednja;
}
struct elBeseda {
struct elCrka *crke;
struct elBeseda *naslednja;
}
Napisi funkcijo dodaj, ki v definiran seznam doda novo besedo in vrne kazalec na zacetek novega seznama. Kazalec na zacetek seznama in niz znakov, ki ga dodajamo, sta podana kot argument funkcije.
struct elCrka {
char crka;
struct elCrka *naslednja;
}
struct elBeseda {
struct elCrka *crke;
struct elBeseda *naslednja;
}
Enostaven program za fakturiranje -> www.quibi.net

atlet ::
Nevem, kako bi dodau v seznam elBeseda, besedo, ki je sestavljena iz seznama elCrka. ;)
Enostaven program za fakturiranje -> www.quibi.net

OwcA ::
Če dodajaš na konec, se po "naslednja" se oddričaš do konca in zadnjo "naslednja" nastaviš na novo besedo. Dodajanjenje na začetek je še bolj preprosto, ker le "naslednja" novi besedi nastaviš na dosedanji začetek seznama.
Otroška radovednost - gonilo napredka.
Zgodovina sprememb…
- spremenilo: OwcA ()

atlet ::
struct elBeseda *dodaj(struct elBeseda *z, char *niz[]) { struct elBeseda *be; struct elCrka *bes; int i=0; be = (struct elBeseda*) malloc (sizeof (struct elBeseda)); bes = (struct elCrka*) malloc (sizeof (struct elCrka)); bes->crka=niz[i]; be->naslednja=be; while (niz[i] != '\0') { bes=(struct elCrka*) malloc (sizeof (struct elCrka)); bes->crka=niz[i]; bes->naslednja=bes; i++; } }
Bo pravilno? :p
Enostaven program za fakturiranje -> www.quibi.net
Zgodovina sprememb…
- spremenil: atlet ()

Gundolf ::
Ne, ni pravilno.
Morda si opazil, da si pozabil uporabiti z.
Poleg tega narediš to napako, da vsak 'naslednji' pointer povežeš nazaj nase.
V zanki bo nekaj v tem stilu mnogo bolje:
in podobno za besedo.
Morda si opazil, da si pozabil uporabiti z.
Poleg tega narediš to napako, da vsak 'naslednji' pointer povežeš nazaj nase.
V zanki bo nekaj v tem stilu mnogo bolje:
struct elCrka *prejsnjaCrka = bes; bes=(struct elCrka*) malloc (sizeof (struct elCrka)); bes->crka=niz[i]; prejsnjaCrka->naslednja=bes;
in podobno za besedo.
Zgodovina sprememb…
- spremenil: Gundolf ()

atlet ::
struct elBeseda *dodaj(struct elBeseda *z, char *niz[]) { struct elCrka *bes; struct elBeseda *be; int i=0; be = (struct elBeseda*) malloc (sizeof (struct elBeseda)); bes = (struct elCrka*) malloc (sizeof (struct elCrka)); bes->crka=niz[i]; be->crke=bes; be->naslednja=z; while (niz[i] != '\0') { struct elCrka *prejsnjaCrka = bes; bes=(struct elCrka*) malloc (sizeof (struct elCrka)); bes->crka=niz[i]; prejsnjaCrka->naslednja=bes; i++; } return be; }
Sedaj pa bi moglo bit pravilno?
Enostaven program za fakturiranje -> www.quibi.net
Zgodovina sprememb…
- spremenil: atlet ()

atlet ::
Vem. S tem se sedaj ukvarjam, pa nekako ne dela... Mi javlja Segmentation fault...bo ze pocasi. :p
Enostaven program za fakturiranje -> www.quibi.net

atlet ::
Izpisujem pravilno? printf("%c", p->crke->crka);
Enostaven program za fakturiranje -> www.quibi.net

Vesoljc ::
ja ce reces se tole
:)
if( p && p->crke && p->crke->crka ) { printf... }
:)
Abnormal behavior of abnormal brain makes me normal...
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C] kazalčni seznamOddelek: Programiranje | 3158 (2972) | MrBrdo |
» | C strukture, kazalci naloga pomocOddelek: Programiranje | 1485 (1380) | DavidJ |
» | zlobni C ali kako sprogramirat sledeč program =)Oddelek: Programiranje | 1790 (1349) | charlotte |
» | [C] Povezani seznami in kazalciOddelek: Programiranje | 2587 (2154) | Good Guy |
» | [C] Narascajoce sortiranje linearnega seznamaOddelek: Programiranje | 1893 (1782) | Jebiveter |