Advertisement
Guest User

Untitled

a guest
Nov 25th, 2015
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. //Jedan zapis datoteke organizirane po nacelu raspresnog adresiranja definiran je strukturom. Kljuc zapisa je sigfra artikla, a transformacija
  2. //kljuca u adresu obavlja je funkcijom: int adresa(int sifra). Zapis je prazan ako je na mjestu sifre nula. Parametri za rasprseno adresiranje
  3. //su BLOK, MAXZAP, C, M.
  4. //Napisati funkciju koja ce odrediti u koji je pretinac izvorno(prilikom upisa u datoteku) bilo upuceno najvise zapisa i potom vratiti
  5. //broj zapisa upucenih u taj pretinac. Funkcija treba imati prototip int fun(FILE *f)
  6.  
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include <string.h>
  10. #define MAXZAPIS 50
  11. #define BLOK 512
  12. #define C (int)BLOK/sizeof(zapis)
  13. #define M (int)((MAXZAPIS/C) * 1.3)
  14.  
  15. struct zapis{
  16. int sifra;
  17. char naziv[50+1];
  18. double cijena;
  19. };
  20.  
  21. int adresa(int sifra){
  22.  
  23. }
  24.  
  25. int najvise(FILE *f){
  26.  
  27. int i = 0;
  28. int j = 0;
  29. int k = 0;
  30. int brpod = 0;
  31. int pretinci[M];
  32. zapis studenti[C];
  33.  
  34. do{
  35. brpod = 0;
  36. for(i = 0; i < M; i++){
  37. fseek(f, i * BLOK, SEEK_SET);
  38. fread(&studenti, sizeof(studenti), 1, f);
  39. for(j = 0; j < C; j++){
  40. if(adresa(studenti[j].sifra) == k){
  41. brpod++;
  42. }
  43. }
  44. }
  45. pretinci[k] == brpod;
  46. k++;
  47. }while(k < M);
  48.  
  49. int maxpret;
  50. maxpret = pretinci[0];
  51. for(i = 0; i < M; i++){
  52. if(pretinci[i] > maxpret){
  53. maxpret = pretinci[i];
  54. }
  55. }
  56.  
  57. return maxpret;
  58.  
  59. }
  60.  
  61. int main(){
  62.  
  63. FILE *f;
  64.  
  65. f = fopen("studenti.dat", "r+");
  66. int rez = najvise(f);
  67.  
  68. getchar();
  69. return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement