#include #define MAX 100 typedef struct raz { int brojilac; int imenilac; } razlomak; // funkcija skracuje razlomak void skrati_razlomak(razlomak* p) { int a,b,nzd,minus=0,pom; if(p->brojilac<0) { p->brojilac=-p->brojilac; minus=1; } if(p->brojilac>p->imenilac) { a=p->brojilac; b=p->imenilac; } else { a=p->imenilac; b=p->brojilac; } while(b>0) { pom=a%b; a=b; b=pom; } if(a!=1) { p->brojilac/=a; p->imenilac/=a; } if(minus) p->brojilac=-p->brojilac; } razlomak zbir(razlomak p,razlomak q) { razlomak z; z.imenilac=p.imenilac*q.imenilac; z.brojilac=p.brojilac*q.imenilac+q.brojilac*p.imenilac; skrati_razlomak(&z); return z; } razlomak razlika(razlomak p,razlomak q) { razlomak z; z.imenilac=p.imenilac*q.imenilac; z.brojilac=p.brojilac*q.imenilac-q.brojilac*p.imenilac; skrati_razlomak(&z); return z; } razlomak proizvod(razlomak p,razlomak q) { razlomak z; z.imenilac=p.imenilac*q.imenilac; z.brojilac=p.brojilac*q.brojilac; skrati_razlomak(&z); return z; } int main() { razlomak niz[MAX]; razlomak z; int n,i; printf("uneti broj razlomaka\n"); scanf("%d",&n); if(n>MAX||n<1) { printf("nedozvoljena duzina niza\n"); return 0; } printf("Uneti %d razlomaka u formatu brojilac imenilac\n",n); for(i=0;i