Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.55 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Zadanie_6._2
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.                 // Pobierasz wartosci do stringa(bez zmiany) zeby moc sprawdzić warunek
  14.                 Console.WriteLine("Program wyliczający najwięszy wspólny dzielnik dwóch liczb naturalnych.");
  15.                 string l11, l22;
  16.                 Console.WriteLine("Podaj pierwsza liczbę: ");
  17.                 l11 = Console.ReadLine();
  18.                 Console.WriteLine("Podaj drugą liczbę: ");
  19.                 l22 = Console.ReadLine();
  20.            
  21.             // Dodajesz sobie nowe zmienne i w try robisz ich zamiane pobranych wartosci na int + to dzielenie jest po to aby sprawdzic
  22.             // czy nie podano zer.
  23.  
  24.             int s, l1, l2;
  25.             try
  26.             {
  27.                 l1 = Int32.Parse(l11);
  28.                 l2 = Int32.Parse(l22);
  29.                 s = l1 / l2;
  30.                 s = l2 / l1;
  31.             }
  32.  
  33.             // Pierwszy catch jest od znakow innych niz liczby, drugi od zera
  34.  
  35.             catch (FormatException)
  36.             {
  37.                 Console.WriteLine("Mozesz podać tylko liczby!");
  38.                 Console.ReadKey();
  39.                 return;
  40.             }
  41.             catch (ArithmeticException ArgEx)
  42.             {
  43.                 Console.WriteLine(ArgEx.Message);
  44.                 Console.ReadKey();
  45.                 return;
  46.             }
  47.  
  48.             // Stworzenie tablicy i w if-ie przypisanie jej wielkosci
  49.  
  50.             int[] dzielnik;
  51.             if (l1 < l2)
  52.             {
  53.                 dzielnik = new int[l1];
  54.             }
  55.             else
  56.             {
  57.                 dzielnik = new int[l2];
  58.             }
  59.  
  60.             // Pętla przypisująca do tablicy wszystkie dzielniki
  61.  
  62.             for(int i=1; i <= l1; i++)
  63.             {
  64.                 if (l1 % i == 0 && l2 % i == 0)
  65.                 {
  66.                     dzielnik[i - 1] = i;
  67.                     continue;
  68.                 }
  69.                 else
  70.                 {
  71.                     continue;
  72.                 }
  73.             }
  74.  
  75.             // Pętla szukajaca najwiekszy dzielnik z tablicy
  76.  
  77.             int wynik = dzielnik[0];
  78.             for (int j = dzielnik.Length - 1; j >= 0; j--)
  79.             {
  80.                 if (wynik < dzielnik[j])
  81.                 {
  82.                     wynik = dzielnik[j];
  83.                 }
  84.             }
  85.             Console.WriteLine("Największy wspólny dzielnik to: {0}", wynik);
  86.             Console.ReadKey();
  87.         }
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement