Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Zadanie_6._2
- {
- class Program
- {
- static void Main(string[] args)
- {
- // Pobierasz wartosci do stringa(bez zmiany) zeby moc sprawdzić warunek
- Console.WriteLine("Program wyliczający najwięszy wspólny dzielnik dwóch liczb naturalnych.");
- string l11, l22;
- Console.WriteLine("Podaj pierwsza liczbę: ");
- l11 = Console.ReadLine();
- Console.WriteLine("Podaj drugą liczbę: ");
- l22 = Console.ReadLine();
- // Dodajesz sobie nowe zmienne i w try robisz ich zamiane pobranych wartosci na int + to dzielenie jest po to aby sprawdzic
- // czy nie podano zer.
- int s, l1, l2;
- try
- {
- l1 = Int32.Parse(l11);
- l2 = Int32.Parse(l22);
- s = l1 / l2;
- s = l2 / l1;
- }
- // Pierwszy catch jest od znakow innych niz liczby, drugi od zera
- catch (FormatException)
- {
- Console.WriteLine("Mozesz podać tylko liczby!");
- Console.ReadKey();
- return;
- }
- catch (ArithmeticException ArgEx)
- {
- Console.WriteLine(ArgEx.Message);
- Console.ReadKey();
- return;
- }
- // Stworzenie tablicy i w if-ie przypisanie jej wielkosci
- int[] dzielnik;
- if (l1 < l2)
- {
- dzielnik = new int[l1];
- }
- else
- {
- dzielnik = new int[l2];
- }
- // Pętla przypisująca do tablicy wszystkie dzielniki
- for(int i=1; i <= l1; i++)
- {
- if (l1 % i == 0 && l2 % i == 0)
- {
- dzielnik[i - 1] = i;
- continue;
- }
- else
- {
- continue;
- }
- }
- // Pętla szukajaca najwiekszy dzielnik z tablicy
- int wynik = dzielnik[0];
- for (int j = dzielnik.Length - 1; j >= 0; j--)
- {
- if (wynik < dzielnik[j])
- {
- wynik = dzielnik[j];
- }
- }
- Console.WriteLine("Największy wspólny dzielnik to: {0}", wynik);
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement