| 
 File: Stare vježbe/vjezbe13/81__union.c 
/*     81__union.c     -----     Program demonstrira rad s unijama (union-ima). */   #include <stdio.h> #include <math.h>   typedef union {     double fexp;     int nexp; } nvals;   typedef struct {     double x;     char flag;     nvals exp; } values;   double power(values a);   int main() {     values a;     int i;     double n,y;       printf("Unesite vrijednost za x: ");      scanf("%lf", &a.x);     printf("Unesite vrijednost za n: ");      scanf("%lf", &n);     i=(int)n;     a.flag=(i == n) ? 'i' :'f';     if (a.flag == 'i')         a.exp.nexp = i;     else          a.exp.fexp = n;       if (a.flag == 'f' && a.x <= 0.0)          printf("Greska pri unosu!\n");      else {         y=power(a);     }       return 0; }   double power(values a) {     int i;     double y=a.x;       if (a.flag == 'i')          if (a.exp.nexp == 0)             y=1.0;         else {             for (i=1;i<abs(a.exp.nexp); ++i)                 y *=a.x;             if (a.exp.nexp < 0)                 y=1./y;         }     else          y=exp(a.exp.fexp*log(a.x));       return y; }   
 
          
  
       |