# Posted By

dfilipov on 11/12/12

# Statistics

Viewed 199 times
Favorited by 0 user(s)

# SP Zadatak 1 - implementacija pomocu polja

/ Published in: C++
`struct s_datum {	unsigned int dan;	unsigned int mjesec;	unsigned int godina;}; struct s_zapis {	short sifra;	char vrsta[50];	char naziv[50];	float cijena;	s_datum datum;}; struct lista {	s_zapis zapis[100];	int cursor;};typedef int element;  element EndL(lista *L) {	return L->cursor;} element FirstL(lista *L) {	if (L->cursor == NULL)		return EndL(L);	else		return 0;} element NextL(element p, lista *L) {	if (p == EndL(L))		return -1;	else		return p+1;} element PreviousL(element p, lista *L) {	if (p == FirstL(L))		return -1;	else		return p-1;} element LocateL(s_zapis X, lista *L) {	for (int i=0; i < EndL(L); i++)		if (!strcmp(X.vrsta, L->zapis[i].vrsta))			return i;		else if (!strcmp(X.naziv, L->zapis[i].naziv))			return i; 	return EndL(L);} bool InsertL(s_zapis X, element p, lista *L) {	if (p > L->cursor) return false;	else {		for (int i=L->cursor; i >= p; i--) {			L->zapis[i+1] = L->zapis[i];  		} 		L->zapis[p] = X;	 		L->cursor++;		return true;	}} bool DeleteL(element p, lista *L) {	if (p > L->cursor)		return false; 	for (int i=p; i<L->cursor; i++) {		L->zapis[i] = L->zapis[i+1];	}	L->cursor--;	return true;} s_zapis RetrieveL(element p, lista *L) {	return L->zapis[p];} lista *InitL(lista *L) {	L = new lista;	L->cursor = 0;	return L;}`