Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define N 20
  4. typedef struct {
  5. char nume[35];
  6. int durata
  7. } film;
  8. film F[N/2];
  9.  
  10. void citeste(FILE* f, film S[])
  11. {
  12. //functie citire si alocare elemente structura
  13. char num[35], ch;
  14. float m;
  15. int i;
  16. int j = 1;
  17. //citire din fisier
  18. f = fopen("fis.txt", "r");
  19. if (!f)
  20. {
  21. printf("Eroare");
  22. exit(1);
  23. }
  24. for (i = 0; i < N/2; i++)
  25. {
  26. //introducere elemente in structura
  27. fgets(num, 35, f);
  28. strcpy(S[i].nume, num);
  29. S[i].nume[strlen(S[i].nume) - 1] = '\0';
  30. fscanf(f, "%f", &m);
  31. S[i].durata= m;
  32. ch = getc(f);
  33. }
  34. fclose(f);
  35. }
  36.  
  37. void afisare(film f[], int n)
  38. {
  39. for(int i =0;i<n;i++)
  40. printf("%s %d\n", f[i].nume, f[i].durata);
  41. }
  42.  
  43. void sortare(film f[], int n)
  44. {
  45. for(int i=n-2;i>=0;i--)
  46. {
  47. f[n]=f[i];
  48. int j=i+1;
  49. while((f[j].durata<f[n].durata)||(f[j].durata<=90&&f[n].durata<=90&&strcmp(f[j].nume, f[n].nume)<0))
  50. {
  51. f[j-1]=f[j];
  52. j++;
  53. }
  54. f[j-1]=f[n];
  55. }
  56. }
  57. FILE *f;
  58.  
  59. int main()
  60. {
  61. citeste(f,F);
  62. sortare(F, N/2);
  63. afisare(F, N/2);
  64. return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement