public static void Main()
Zlomek z1 =new Zlomek(1,2);
Zlomek z2 =new Zlomek(3,4);
Console.WriteLine("Prvni zlomek=" + z1.Vypis());
Console.WriteLine("Druhy zlomek=" + z2.Vypis());
Zlomek vysledekScitani = z1.Scitani(z2);
Console.WriteLine("Scitani=" + vysledekScitani.Vypis());
Zlomek vysledekOdcitani = z1.Odcitani(z2);
Console.WriteLine("Odcitani=" + vysledekOdcitani.Vypis());
Zlomek vysledekNasobeni = z1.Nasobeni(z2);
Console.WriteLine("Nasobeni=" + vysledekNasobeni.Vypis());
Zlomek vysledekDeleni = z1.Deleni(z2);
Console.WriteLine("Odcitani=" + vysledekDeleni.Vypis());
Zlomek z3 =new Zlomek(11,4);
Console.WriteLine("Vypsani zlomku 11/4 ve tvaru cele cislo a zlomek: " + z3.VypisCeleCisloZlomek());
Zlomek z4 =new Zlomek(4,4);
Console.WriteLine("Vypsani zlomku 4/4 ve tvaru cele cislo a zlomek: " + z4.VypisCeleCisloZlomek());
Zlomek z5 =new Zlomek(3,4);
Console.WriteLine("Vypsani zlomku 3/4 ve tvaru cele cislo a zlomek: " + z5.VypisCeleCisloZlomek());
PomocnaFunkce pomF= new PomocnaFunkce();
Console.WriteLine("Test funkce hledani nejvetsiho spolecneho nasobku (16,8):"+ pomF.NejvetsiSpolecnyNasobek(16,8)+ "");
Console.WriteLine("Test funkce hledani nejvetsiho spolecneho nasobku (5,8):"+ pomF.NejvetsiSpolecnyNasobek(5,8)+ "");
Console.WriteLine("Test funkce hledani nejvetsiho spolecneho nasobku (4,18):"+ pomF.NejvetsiSpolecnyNasobek(4,18)+ "");
Console.WriteLine("Test funkce hledani nejvetsiho spolecneho nasobku (6,6):"+ pomF.NejvetsiSpolecnyNasobek(6,6)+ "");
Zlomek z6 =new Zlomek(4,14);
Console.WriteLine("Zkraceny zlomek 4/14: " + z6.VypisCeleCisloZlomek());
Zlomek z7 =new Zlomek(10,5);
Console.WriteLine("Zkraceny zlomek 10/5: " + z7.VypisCeleCisloZlomek());
Zlomek z8 =new Zlomek(14,6);
Console.WriteLine("Zkraceny zlomek 14/6: " + z8.VypisCeleCisloZlomek());
public Zlomek(int citatel, int jmenovatel)
return Citatel + "/" + Jmenovatel;
public Zlomek Scitani(Zlomek zl)
return new Zlomek(zl.Citatel*Jmenovatel+Citatel*zl.Jmenovatel,zl.Jmenovatel*Jmenovatel);
public Zlomek Odcitani(Zlomek zl)
return new Zlomek(zl.Citatel*Jmenovatel-Citatel*zl.Jmenovatel,zl.Jmenovatel*Jmenovatel);
public Zlomek Nasobeni(Zlomek zl)
return new Zlomek(zl.Citatel*Citatel,zl.Jmenovatel*Jmenovatel);
public Zlomek Deleni(Zlomek zl)
return new Zlomek(zl.Jmenovatel*Citatel,zl.Citatel*Jmenovatel);
public string VypisCeleCisloZlomek()
{int celeCislo=Citatel/Jmenovatel;
int zbytekCitatel=Citatel-celeCislo*Jmenovatel;
Zlomek zbytekZlomku=new Zlomek(zbytekCitatel,Jmenovatel);
return ""+celeCislo+" a "+zbytekZlomku.Vypis();
else if (Citatel==Jmenovatel)
{return ""+Citatel/Jmenovatel+"";}
public void ZkratZlomek()
PomocnaFunkce hledejDelitel=new PomocnaFunkce();
int spolDelitel= hledejDelitel.NejvetsiSpolecnyNasobek(Citatel,Jmenovatel);
Citatel=Citatel/spolDelitel;
Jmenovatel=Jmenovatel/spolDelitel;
public int NejvetsiSpolecnyNasobek(int citatel,int jmenovatel)
for (int i=1; i<=citatel; i++)
if (citatel%i==0 && jmenovatel%i==0)
else if (citatel==jmenovatel)
else if (citatel>jmenovatel)
for (int i=1; i<=jmenovatel; i++)
if (citatel%i==0 && jmenovatel%i==0)