Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Jedan zapis datoteke organizirane po nacelu raspresnog adresiranja definiran je strukturom. Kljuc zapisa je sigfra artikla, a transformacija
- //kljuca u adresu obavlja je funkcijom: int adresa(int sifra). Zapis je prazan ako je na mjestu sifre nula. Parametri za rasprseno adresiranje
- //su BLOK, MAXZAP, C, M.
- //Napisati funkciju koja ce odrediti u koji je pretinac izvorno(prilikom upisa u datoteku) bilo upuceno najvise zapisa i potom vratiti
- //broj zapisa upucenih u taj pretinac. Funkcija treba imati prototip int fun(FILE *f)
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define MAXZAPIS 50
- #define BLOK 512
- #define C (int)BLOK/sizeof(zapis)
- #define M (int)((MAXZAPIS/C) * 1.3)
- struct zapis{
- int sifra;
- char naziv[50+1];
- double cijena;
- };
- int adresa(int sifra){
- }
- int najvise(FILE *f){
- int i = 0;
- int j = 0;
- int k = 0;
- int brpod = 0;
- int pretinci[M];
- zapis studenti[C];
- do{
- brpod = 0;
- for(i = 0; i < M; i++){
- fseek(f, i * BLOK, SEEK_SET);
- fread(&studenti, sizeof(studenti), 1, f);
- for(j = 0; j < C; j++){
- if(adresa(studenti[j].sifra) == k){
- brpod++;
- }
- }
- }
- pretinci[k] == brpod;
- k++;
- }while(k < M);
- int maxpret;
- maxpret = pretinci[0];
- for(i = 0; i < M; i++){
- if(pretinci[i] > maxpret){
- maxpret = pretinci[i];
- }
- }
- return maxpret;
- }
- int main(){
- FILE *f;
- f = fopen("studenti.dat", "r+");
- int rez = najvise(f);
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement