Professional Documents
Culture Documents
Cikličko polje;
int dodajUred(int element, int red[], int *ulaz, int izlaz, int velicinaReda)
{
if( ((*ulaz+1) % velicinaReda) == izlaz)
return 0;
*ulaz += 1;
*ulaz %= velicinaReda;
red[*ulaz]=element;
return 1;
}
int skiniIzReda(int *element, int red[], int ulaz, int *izlaz,int velicinaReda)
{
if( ulaz == *izlaz )
return 0;
*izlaz + =1;
*izlaz %= velicinaReda;
*element=red[*izlaz];
return 1;
}
int dodajURed (proces element, proces red[], int n, int izlaz, int *ulaz);
struct s
{
long sifra;
char opis[41];
};
typedef struct s proces;
.
.
.
int dodajURed (proces element, proces red[], int n, int izlaz, int *ulaz)
{
(*ulaz) += 1;
(*ulaz) %= n;
red[*ulaz] = element;
return 1;
}
Red je realiziran cikličkim jednodimenzionalnim poljem zapisa, gdje svaki zapis sadrži šifru
proizvoda (long), naziv proizvoda (50+1 znak) i cijenu (float).
Potrebno je napisati funkciju koja dodaje zapis u red, te vraća 1 ukoliko je zapis uspješno
dodan, a 0 inače.
struct s
{
long sifra;
char naziv[50 + 1];
float cijena;
};
typedef struct s proizvod;
.
.
.
int dodajURed(proizvod element, proizvod red[], int n, int izlaz, int *ulaz)
{
(*ulaz) += 1;
(*ulaz) %= n;
red[*ulaz] = element;
return 1;
};
//****************************************************************
Napisat funkciju koja briše sve elemente iz reda i u njega upisuje elemente. Prototip je:
return 1;
}
//***************************************************************;
Napisat funkciju koja će kao rezultat vratiti omjer slobodnog i zauzetog mjesta u redu.
(Funkcija treba vratiti realan broj).
else
brElement = velicinaReda - (izlaz - ulaz);