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

[Zadatak] Vezane liste

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Vezane liste
(Zaključana tema (lock), by passenger)

[ Pregleda: 2634 | Odgovora: 5 ] > FB > Twit

Postavi temu

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zokio
Balkan

Član broj: 27826
Poruke: 43
193.198.39.*

Sajt: student.oss.unist.hr/~zs9..


Profil

icon [Zadatak] Vezane liste07.11.2005. u 22:26 - pre 223 meseci
Naime poceo sam raditi zadatke sa vezanim listama, a posto nisam ima ideje kako i sta uzeo sam knjigu i poceo raditi vec uradjeni, no medjutim neli dijelovi koda mi nisu jasni(oznacit cu ih) a uostalom program puca ne znam zasto. Ako mozete pogledajet i pomozite jer bez ovog nemogu proci ispit....
Unaprijed hvala

Code:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define    KRAJ (struct ime *) 0


struct ime{
char *p_ime;
struct ime *next;
};

struct ime *start=KRAJ;
void unos(void);
main()

{

unos();

}


void unos(void)
{
    struct ime *zadnji, *novi;
    char line[128];

    /*Dodavanje novog elementa*/

    novi=(struct ime *)malloc(strlen(line)+1);  
/*-nije mi jasno ovdje za sto se tocno alocira memorija- za pokazivac novi.. u knjizi pise "kod prvo alocira memoriju za element novi" - nejasno mi je zasto to cini tu a ne poslije scanf funkcije*/
    
    if (novi=NULL){
    printf("Nema dovoljno memorije . . .");
    exit(-1);
}

novi->next=KRAJ;
printf("Unesite ime > ");
scanf("%s", line);
novi->p_ime=(char *) malloc(strlen(line)+1);
if (novi->p_ime==NULL){
printf("Nema dovoljno memorije . . .");

strcpy(novi->p_ime, line);

if(start==KRAJ) /*PRAZNA LISTA*/
start=novi;
else{
/*pronadji kraj liste*/
for(zadnji=start; zadnji-> next!=KRAJ; zadnji=zadnji->next)
; /*ne radi nista*/

/*sada neka zadnji pokazuje na novi element*/
zadnji->next=novi;
}

}




E da i prilikom kompajliranja javlja se warning da "novi nije inicijaliziran"

eto ako netko ima zelje i volje stvarno sam izgubljen a nemam koga pitat, unaprijed HVALA! ! !
Poslije spavanja treba odmorit ! ! !
 
0

zokio
Balkan

Član broj: 27826
Poruke: 43
193.198.39.*

Sajt: student.oss.unist.hr/~zs9..


Profil

icon Re: [Zadatak] Vezane liste08.11.2005. u 20:17 - pre 223 meseci
Momci svima vam se od srca zahvaljujem na pomoci.


H V A L A ! ! ! ! ! ! ! !


P.S

pa mogli ste barem napisati da se gonim u k***c ako nista drugo
jos jednom hvala
Poslije spavanja treba odmorit ! ! !
 
0

don_mathew

Član broj: 27904
Poruke: 74
*.tel.net.ba.



Profil

icon Re: [Zadatak] Vezane liste09.11.2005. u 17:42 - pre 223 meseci
vidim nitko ne odgovara...hm

ajd da probamo ovako napisi koji ti je zadatak pa cu ga ja il netko uradit ovo mi se stvarno ne da prepravljati jer kolko vidim nije ni blizu gotovog...(imao sam 5 na faxu iz programiranja valjda cu znat nesto :D )
 
0

zokio
Balkan

Član broj: 27826
Poruke: 43
193.198.39.*

Sajt: student.oss.unist.hr/~zs9..


Profil

icon Re: [Zadatak] Vezane liste09.11.2005. u 21:09 - pre 223 meseci
Ma dobro mozda sam ja postavio samodio zadatka, ali mislio sam samo da mi netko objasni zasto se za " *novi " rezervira memorija velicine cjele strukture, no dobro hvala ti sto si barem pogledao, aj pokušat ću napisat zadatak pa ako bude grešaka javim se, još jednom hvala.
Poslije spavanja treba odmorit ! ! !
 
0

don_mathew

Član broj: 27904
Poruke: 74
*.tel.net.ba.



Profil

icon Re: [Zadatak] Vezane liste10.11.2005. u 13:07 - pre 223 meseci
rezervira se zato jer radis sa strukturom a ne sa jednom varijablom pa da za nju samo rezerviras memoriju...

i onda preko pokazivaca novi tom rezerviranom djelu memorije dodjeljujes vrijednost...prosto objasnjeno :)

jer imas jos jedan pokazivac strukture na samu sebe koja ce odrediti mjesto te strukture u listi i pomocu njega pretrazujes listu i mozes naci svaki element liste...btw to s listama ti je najlakse nacrtati sebi tako sam ja uradio drugi ispit na ispitu sam jednostavno crtao lisise i nacin rada da bih shvatio gdje sta i kako...

i samo jos jedan prijedlog pokusaj da u definiciji strukture definiras stvarnu varijablu tipa char a ne pokazivac pa ces neke stvari mozda brze skontati...

http://www.fsr.ba/ispiti/URP-P-pismeni-ispit-primjeri.zip (skini ove zadatke pa malo pogledaj...)


[Ovu poruku je menjao don_mathew dana 10.11.2005. u 14:08 GMT+1]

[Ovu poruku je menjao don_mathew dana 10.11.2005. u 14:12 GMT+1]
 
0

glorius
Damir Nikolic
C++ developer
SR

Član broj: 4366
Poruke: 428
*.vdial.verat.net.

ICQ: 208550327


+14 Profil

icon Re: [Zadatak] Vezane liste10.11.2005. u 23:50 - pre 223 meseci
Ups! Mala grescica a u sustini katastrofa!

Pogledaj...

Code:


if (novi=NULL){
    printf("Nema dovoljno memorije . . .");
    exit(-1);



Vec si dodelio nulu promenljivoj novi.

Samo ovo izmenu u sledece:

Code:


if (novi == NULL){
    printf("Nema dovoljno memorije . . .");
    exit(-1);



Pozdrav!

[Ovu poruku je menjao glorius dana 11.11.2005. u 00:51 GMT+1]
EOF
 
0

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Vezane liste
(Zaključana tema (lock), by passenger)

[ Pregleda: 2634 | Odgovora: 5 ] > FB > Twit

Postavi temu

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