Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- using namespace std;
- struct Articol
- {
- char * titlu;
- char * text;
- };
- void citire(Articol *articol, const char nume_fisier[])
- {
- FILE * f = fopen(nume_fisier);
- char line[100];
- fgets(line, 100, f);
- articol->titlu = malloc(strlen(line) + 1);
- strcpy(articol->titlu, line);
- // asemanator citesti si textul
- fclose(f);
- }
- int nr_cuvinte(const char sir[])
- {
- int cnt = 0;
- int n = strlen(sir);
- for(int i = 0; i < n; i++)
- if(sir[i] == ' ')
- cnt++;
- return cnt;
- }
- int cmp(const void * a, const void * b)
- {
- int n = strlen(a->titlu), m = strlen(b->titlu);
- int minLength;
- if(n < m)
- minLength = n;
- else
- minlength = m;
- for(int i = 0; i < minLength; i++)
- {
- if(a[i] < b[i])
- return -1;
- if(a[i] > b[i])
- return 1;
- }
- if(n < m)
- return -1;
- if(n > m)
- return 1;
- return nr_cuvinte(a->text) - nr_cuvinte(b->text);
- }
- int main()
- {
- Articol articole[10];
- citire(&articol[0], "Nasa.txt");
- citire(&articol[1], "UPB.txt");
- citire(&articol[2], "UB.txt");
- qsort(articole, 3, sizeof(Articol), cmp);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement