Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //head
- #ifndef L11P1_H_
- #define L11P1_H_
- struct _DATA{
- int zi, luna,an,zian;
- };
- typedef struct _DATA DATA;
- void f1(DATA *d);
- void f2(DATA *d);
- int isBisect(int an);
- void *xmalloc(size_t nrOcteti);
- #endif /* L11P1_H_ */
- //c
- #include <stdio.h>
- #include <stdlib.h>
- #include "l11p1.h"
- int isBisect(int an)
- {
- if((an%4==0 && an%100!=0)||an%400==0)
- return 1;
- return 0;
- }
- void *xmalloc(size_t nrOcteti)
- {
- void *p;
- p = malloc(nrOcteti);
- if(p==0)
- {
- fprintf(stderr,"Memorie insuficienta\n");
- exit(EXIT_FAILURE);
- }
- return p;
- }
- void f1(DATA *d)
- {
- int z1[12]={31,28,31,30,31,30,31,31,30,31,30,31};
- int z2[12]={31,29,31,30,31,30,31,31,30,31,30,31};
- if(isBisect(d->an)==1)
- {
- d->zian=0;
- d->zian+=d->zi;
- d->luna--;
- while(d->luna)
- {
- d->zian+=z2[d->luna-1];
- d->luna--;
- }
- }
- else
- {
- d->zian=0;
- d->zian+=d->zi;
- d->luna--;
- while(d->luna)
- {
- d->zian+=z1[d->luna-1];
- d->luna--;
- }
- }
- printf("%d",d->zian);
- // d=(DATA *)xmalloc(sizeof(DATA));
- }
- void f2(DATA *d)
- {
- int z1[12]={31,28,31,30,31,30,31,31,30,31,30,31};
- int z2[12]={31,29,31,30,31,30,31,31,30,31,30,31};
- d->luna=0;
- d->zi=0;
- if(isBisect(d->an)==1)
- {
- while(d->zian)
- {
- if(d->zian<=31)
- {
- d->luna++;
- d->zi=d->zian;
- d->zian=0;
- }
- else
- {
- d->luna++;
- d->zian-=z2[d->luna-1];
- }
- }
- }
- else
- {
- while(d->zian)
- {
- if(d->zian<=31)
- {
- d->luna++;
- d->zi=d->zian;
- d->zian=0;
- }
- else
- {
- d->luna++;
- d->zian-=z1[d->luna-1];
- }
- }
- }
- printf("zi=%d, luna=%d",d->zi,d->luna);
- d=(DATA *)xmalloc(sizeof(DATA));
- }
- //main
- #include <stdio.h>
- #include <stdlib.h>
- #include "l11p1.h"
- int main(void)
- {
- DATA d;
- //d.zi=8;
- //d.luna=5;
- d.an=2012;
- //f1(&d);
- d.zian=129;
- f2(&d);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement