39 static int gcd (
int a,
int b ) {
50 static int gcdr (
int a,
int b ) {
53 return gcdr ( b%a, a );
61 c.citatel = a.citatel * b.jmenovatel + b.citatel * a.jmenovatel;
62 c.jmenovatel = a.jmenovatel * b.jmenovatel;
64 delitel = gcd(c.citatel, c.jmenovatel);
67 c.jmenovatel /= delitel;
76 c.citatel = a.citatel * b.jmenovatel - b.citatel * a.jmenovatel;
77 c.jmenovatel = a.jmenovatel * b.jmenovatel;
79 delitel = gcd(c.citatel, c.jmenovatel);
82 c.jmenovatel /= delitel;
91 c.citatel = a.citatel * b.citatel;
92 c.jmenovatel = a.jmenovatel * b.jmenovatel;
94 delitel = gcd(c.citatel, c.jmenovatel);
97 c.jmenovatel /= delitel;
106 c.citatel = a.citatel * b.jmenovatel;
107 c.jmenovatel = a.jmenovatel * b.citatel;
109 delitel = gcd(c.citatel, c.jmenovatel);
111 c.citatel /= delitel;
112 c.jmenovatel /= delitel;
117 zlomek_vypis (
zlomek z) { printf(
"%d/%d", z.citatel, z.jmenovatel); }
123 printf(
"z1="); zlomek_vypis(z1);
124 printf(
"\nz2="); zlomek_vypis(z2);
127 printf(
"\nz3=soucet(z1, z2); z3="); zlomek_vypis(z3);
130 printf(
"\nz3=rozdil(z1, z2); z3="); zlomek_vypis(z3);
132 printf(
"\nz3=rozdil(z2, z1); z3="); zlomek_vypis(z3);
135 printf(
"\nz3=soucin(z1, z2); z3="); zlomek_vypis(z3);
138 printf(
"\nz3= podil(z1, z2); z3="); zlomek_vypis(z3);