Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define N 20
- typedef struct {
- char nume[35];
- int durata
- } film;
- film F[N/2];
- void citeste(FILE* f, film S[])
- {
- //functie citire si alocare elemente structura
- char num[35], ch;
- float m;
- int i;
- int j = 1;
- //citire din fisier
- f = fopen("fis.txt", "r");
- if (!f)
- {
- printf("Eroare");
- exit(1);
- }
- for (i = 0; i < N/2; i++)
- {
- //introducere elemente in structura
- fgets(num, 35, f);
- strcpy(S[i].nume, num);
- S[i].nume[strlen(S[i].nume) - 1] = '\0';
- fscanf(f, "%f", &m);
- S[i].durata= m;
- ch = getc(f);
- }
- fclose(f);
- }
- void afisare(film f[], int n)
- {
- for(int i =0;i<n;i++)
- printf("%s %d\n", f[i].nume, f[i].durata);
- }
- void sortare(film f[], int n)
- {
- for(int i=n-2;i>=0;i--)
- {
- f[n]=f[i];
- int j=i+1;
- while((f[j].durata<f[n].durata)||(f[j].durata<=90&&f[n].durata<=90&&strcmp(f[j].nume, f[n].nume)<0))
- {
- f[j-1]=f[j];
- j++;
- }
- f[j-1]=f[n];
- }
- }
- FILE *f;
- int main()
- {
- citeste(f,F);
- sortare(F, N/2);
- afisare(F, N/2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement