Algoritmi i Programiranje Zbirka reseni zadataka na programskom jeziku C Univerzitet u Nisu Elektronski fakultet Grupa autora
Algoritmi elementari
Full description
Full description
Programare Evolutiva si Algoritmi Genetici
Algoritmi Genetici
Full description
57.Napisati funkciju za dodavanje elemenata na stog realiziran statičkim nizom. int dodaj(int clan,int stog[],int n,int *vrh) { if (*vrh>=n-1) return 0; (*vrh)++; stog[*vrh]=clan; return 1; } 58.Napisati funkciju za dodavanje elemenata niza na stog realiziran dinamičkom strukturom. atom *dodaj(atom *vrh,int vrijednost) { atom *novi; if((novi=(atom*)malloc(sizeof(atom)))!=NULL); { novi->vrijednost=vrijednost; novi->sljedeci=vrh; } } 59.Napisati funkciju za dodavanje elemenata u red realiziran statičkim nizom. int dodaj(tip clan,tip red[],int n,int izlaz,int *ulaz) { if(((*ulaz+1)%n)==izlaz) return 0; (*ulaz)++; *ulaz%=n;
red[*ulaz]=clan; return 1; } 60.Napisati funkciju za dodavanje elemenata na stog realiziran dinamičkom strukturom. int dodaj (int vrijednost,atom **ulaz,atom **izlaz) { atom *novi; if(novi=malloc(sizeof(atom))) { novi->vrijednost=vrijednost=vrijednost; novi->sljedeci=NULL; if(*izlaz==NULL) *izlaz=novi; else (*ulaz)->sljedeci=novi; *ulaz=novi; return 1; } return 0; } 61.Skicirati dodavanje elemenata na stog realiziran statičkim nizom. 62.Skicirati dodavanje elemenata na stog realiziran dinamičkom strukturom. 63.Skicirati dodavanje elemenata u red realiziran statičkim nizom. 64.Skicirati dodavanje elemenata u red realiziran dinamičkom strukturom. 65.Napisati funkciju za dodavanje elemenata u jednostruko povezanu dinamičku listu. int dodaj(atom **glavap,tip vrijednost)
{ atom *novi,*p; if((novi=(atom*)malloc(sizeof(atom)))==NULL) return 0; novi->vrijednost=vrijednost; if(*glavap==NULL||(*glavap)->vrijednost>=vrijednost) { novi->sljedeci=*glavap; *glavap=novi; } else { for(p=*glavap;p->sljedeci&&(p->sljedeci)>vrijednostsljedeci); novi->sljedeci=p->sljedeci; p->sljedeci=novi; } return 1; } 66.Napisati funkciju za dodavanje elemenata u dvostruko povezanu dinamičku listu. 67.Napisati funkciju za ispis elemenata jednostruko povezane dinamičke liste. void ispisi(atom *glava) { atom *p; printf("\nAdresa\t\tClan\tSljedeci\n"); for(p=glava;p!=NULL;p=p->sljedeci) printf("%p\t%d\t%p\n",p,p->vrijednost,p->sljedeci); }
68.Napisati funkciju za ispis elemenata dvostruko povezane dinamičke liste. 69.Napisati funkciju za pretragu jednostruko povezane dinamičke liste. atom *trazi(atom *glava,tip vrijednost) { atom *p; for(p=glava;p!=NULL;p=p->sljedeci) if(p->vrijednost==vrijednost) return p; return NULL; } 70. Napisati funkciju za pretragu dvostruko povezane dinamičke liste. 71.Skicirati dodavanje elemenata u jednostruko povezanu listu. 72.Skicirati dodavanje elemenata u dvostruko povezanu listu. 73.Napisati funkciju za dodavanje elemenata u sortirano binarno stablo. struct cvor* dodaj(struct cvor*,tip elem) { if(cvor==NULL) return(NoviCvor(elem)); else { if(elem<=cvor->podatak) cvor->lijevo=dodaj(cvor->lijevo,elem); else cvor->desno=dodaj(cvor->desno,elem); return (cvor); } } struct cvor* NoviCvor(int elem)
{ struct cvor* novi=(cvor*)malloc(sizeof(struct cvor)); novi->podatak=elem; novi->lijevo=NULL; novi->desno=NULL; return (cvor); } 74.Napisati funkciju za inorder ispis binarnog stabla. 75.Napisati funkciju za preorder ispis binarnog stabla. 76.Napisati funkciju za postorder ispis binarnog stabla. 77.Napisati funkciju za pretragu binarnog stabla. int trazi(struct cvor* cvor,int trazeno) { if(cvor==NULL) return 0; else if(trazeni==cvor->podatak) return 1; else { if(trazenopodatak) return(trazi(cvor->lijevo,trazeno)); else return(trazi(cvor->desno,trazeno)); } } 78.Skicirati dodavanje elemenata (1 po 1 na odvojenim crtežima) u binarno stablo redoslijedom: 5 2 8 4 6 3 1.
79.Skicirati dodavanje elemenata (1 po 1 na odvojenim crtežima) u gomilu redoslijedom: 5 8 3 1 6 9 4.
80.Nacrtati proizvoljan graf i napisati njegove skupove vrhova i ivica. 81.Nacrtati proizvoljan graf i napisati njegovu matricu susjedstva. 82.Nacrtati proizvoljan graf i napisati njegovu listu susjedstva.