Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- typedef struct _dat{
- int d, m, g;
- int br;
- }datum;
- int provjera(datum *x, int i, int d, int m, int g){
- int j;
- for(j=0; j<i; j++)
- if(x[j].d==d && x[j].m==m && x[j].g==g)
- {
- (x[j].br)++;
- return 0;
- }
- return 1;
- }
- void swap(datum *x, datum *y){
- datum t;
- t=*x;
- *x=*y;
- *y=t;
- }
- void sort(datum *x, int n){
- int i, j;
- for(i=0; i<n-1; i++)
- for(j=i+1; j<n; j++){
- if(x[i].g > x[j].g) swap(&x[i], &x[j]);
- else if(x[i].g==x[j].g)
- {
- if(x[i].m==x[j].m && x[i].d > x[j].d) swap(&x[i], &x[j]);
- else if(x[i].m > x[j].m) swap(&x[i], &x[j]);
- }
- }
- }
- int main(void){
- FILE *in, *out;
- datum* x;
- int n, i;
- int d, m, g;
- in=fopen("nsfyllks.in", "r");
- if(in==NULL)
- {
- printf("Greska pri otvaranju datoteke za citanje!\n");
- exit(1);
- }
- out=fopen("nsfyllks.out", "w");
- if(out==NULL)
- {
- fclose(in);
- printf("Greska pri otvaranju datoteke za pisanje!\n");
- exit(1);
- }
- fscanf(in, "%d", &n);
- i=0;
- x=(datum*) malloc(sizeof(datum));
- while(fscanf(in, " %d.%d.%d.", &d, &m, &g) > 0)
- {
- if(i==0)
- {
- x[i].d=d;
- x[i].m=m;
- x[i].g=g;
- x[i].br=1;
- i++;
- }
- else if(provjera(x, i, d, m, g))
- {
- x=(datum*) realloc(x, sizeof(datum));
- x[i].d=d;
- x[i].m=m;
- x[i].g=g;
- x[i].br=1;
- i++;
- }
- }
- n=i;
- sort(x, n);
- for(i=0; i<n; i++)
- {
- fprintf(out, "%d#%d.%d.%d.", x[i].br, x[i].d, x[i].m, x[i].g);
- fprintf(out, "\n");
- }
- fclose(in);
- fclose(out);
- free(x);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement