using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace NSD_konsole { class Program { public static bool JeCislo(string Retezec) { Regex Vyraz = new Regex("[^0-9]"); return !Vyraz.IsMatch(Retezec); } static void Main(string[] args) { Exception_vyjimky(); } private static void Exception_vyjimky() { int c1, c2, zb, pom; string cislo1, cislo2, NSD, volba; bool test; do { test = false; Console.WriteLine(""); Console.Write(" Zadejte první přirozené číslo : "); cislo1 = Console.ReadLine(); Console.WriteLine(""); Console.Write(" Zadejte druhé přirozené číslo : "); cislo2 = Console.ReadLine(); Console.WriteLine(""); if (JeCislo(cislo1) && JeCislo(cislo2)) { try { c1 = Convert.ToInt32(cislo1); c2 = Convert.ToInt32(cislo2); if (c1 == 0 || c2 == 0) { Console.WriteLine(""); Console.WriteLine(" Nulou nelze dělit!"); Console.WriteLine(""); Console.Write(" Chcete pokračovat? A/N : "); volba = Console.ReadLine().ToUpper(); if (volba == "A") { test = true; } } else { if (c1 < c2) // záměna proměnných přes pomocnou proměnnou { pom = c1; c1 = c2; c2 = pom; } zb = 1; while (zb != 0) { zb = c1 % c2; c1 = c2; c2 = zb; } NSD = Convert.ToString(c1); Console.WriteLine(""); Console.Write(" Největší společný dělitel = " + NSD); Console.WriteLine(""); Console.WriteLine(""); Console.Write(" Chcete pokračovat? A/N : "); volba = Console.ReadLine().ToUpper(); if (volba == "A") { test = true; } } } catch (OverflowException) { Console.WriteLine(""); Console.WriteLine(" Zadejte menší číslo!"); Console.WriteLine(""); Console.Write(" Chcete pokračovat? A/N : "); volba = Console.ReadLine().ToUpper(); if (volba == "A") { test = true; } } } else { Console.WriteLine(""); Console.WriteLine(" Zadané výrazy nejsou přirozená čísla!"); Console.WriteLine(""); Console.Write(" Chcete pokračovat? A/N : "); volba = Console.ReadLine().ToUpper(); if (volba == "A") { test = true; } } } while (test); } } }