Untitled

 avatar
unknown
plain_text
9 months ago
25 kB
16
Indexable
using System.Security.Cryptography;
using static System.Runtime.InteropServices.JavaScript.JSType;
using System.Numerics;
using System.Collections;

namespace SensownaNazwaProjektu
{
    internal class Program
    {

        static void Task1()
        {
            Console.WriteLine("Task 1 executed: Performing Calculation.");
            string a;
            float aa;
            while (true)
            {
                Console.WriteLine("Podaj liczbę a");
                a = Console.ReadLine();
                try
                {
                    aa = float.Parse(a);
                    break;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Wprowadzono liczbę w złym formacie");
                }
                catch (OverflowException)
                {
                    Console.WriteLine("Wprowadzona liczba jest poza dopuszczalnym zakresem");
                }
                catch (ArgumentNullException)
                {
                    Console.WriteLine("Napotkano koniec strumienia");
                }
                Console.WriteLine("Spróbuj jeszcze raz");
            }
            string b;
            float bb;
            while (true)
            {
                Console.WriteLine("Podaj liczbę b");
                b = Console.ReadLine();
                try
                {
                    bb = float.Parse(b);
                    break;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Wprowadzono liczbę w złym formacie");
                }
                catch (OverflowException)
                {
                    Console.WriteLine("Wprowadzona liczba jest poza dopuszczalnym zakresem");
                }
                catch (ArgumentNullException)
                {
                    Console.WriteLine("Napotkano koniec strumienia");
                }
                Console.WriteLine("Spróbuj jeszcze raz");
            }
            float res = (aa * aa + bb) / (aa + bb) * (aa + bb);

            // Check if the result is NaN
            if (float.IsNaN(res))
            {
                Console.WriteLine("Proba dzielenia przez zero");
            }
            else
            {
                Console.WriteLine($"Wartość wyrażenia wynosi: {res:F2}");
            }
        }

        static void Task2()
        {
            Console.WriteLine("Task 2 executed: Performing another operation.");
            string a;
            double aa;
            while (true)
            {
                Console.WriteLine("Podaj liczbę a");
                a = Console.ReadLine();
                try
                {
                    aa = double.Parse(a);
                    break;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Wprowadzono liczbę w złym formacie");
                }
                catch (OverflowException)
                {
                    Console.WriteLine("Wprowadzona liczba jest poza dopuszczalnym zakresem");
                }
                catch (ArgumentNullException)
                {
                    Console.WriteLine("Napotkano koniec strumienia");
                }
                Console.WriteLine("Spróbuj jeszcze raz");
            }
            string b;
            double bb;
            while (true)
            {
                Console.WriteLine("Podaj liczbę b");
                b = Console.ReadLine();
                try
                {
                    bb = double.Parse(b);
                    break;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Wprowadzono liczbę w złym formacie");
                }
                catch (OverflowException)
                {
                    Console.WriteLine("Wprowadzona liczba jest poza dopuszczalnym zakresem");
                }
                catch (ArgumentNullException)
                {
                    Console.WriteLine("Napotkano koniec strumienia");
                }
                Console.WriteLine("Spróbuj jeszcze raz");
            }
            string c;
            double cc;
            while (true)
            {
                Console.WriteLine("Podaj liczbę c");
                c = Console.ReadLine();
                try
                {
                    cc = double.Parse(c);
                    break;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Wprowadzono liczbę w złym formacie");
                }
                catch (OverflowException)
                {
                    Console.WriteLine("Wprowadzona liczba jest poza dopuszczalnym zakresem");
                }
                catch (ArgumentNullException)
                {
                    Console.WriteLine("Napotkano koniec strumienia");
                }
                Console.WriteLine("Spróbuj jeszcze raz");
            }
            if (cc > 0)
            {
                double ccresg = aa * aa + bb;
                if (double.IsNaN(ccresg))
                {
                    Console.WriteLine("Proba dzielenia przez zero");
                }
                else
                {
                    Console.WriteLine($"Wartość wyrażenia wynosi: {ccresg:F2}");
                }
            }
            else if (cc < 0)
            {
                double ccresl = aa - bb * bb;
                // Check if the result is NaN
                if (double.IsNaN(ccresl))
                {
                    Console.WriteLine("Proba dzielenia przez zero");
                }
                else
                {
                    Console.WriteLine($"Wartość wyrażenia wynosi: {ccresl:F2}");
                }
            }
            else
            {
                double ccreseq = 1 / (aa - bb);
                // Check if the result is NaN
                if (double.IsNaN(ccreseq))
                {
                    Console.WriteLine("Proba dzielenia przez zero");
                }
                else
                {
                    Console.WriteLine($"Wartość wyrażenia wynosi: {ccreseq:F2}");
                }
            }


        }

        static void Task3()
        {
            Console.WriteLine("Task 3 executed: Performing data processing.");
            string a;
            uint aa;
            while (true)
            {
                Console.WriteLine("Podaj liczbę a");
                a = Console.ReadLine();
                try
                {
                    aa = uint.Parse(a);
                    break;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Wprowadzono liczbę w złym formacie");
                }
                catch (OverflowException)
                {
                    Console.WriteLine("Wprowadzona liczba jest poza dopuszczalnym zakresem");
                }
                catch (ArgumentNullException)
                {
                    Console.WriteLine("Napotkano koniec strumienia");
                }
                Console.WriteLine("Spróbuj jeszcze raz");
            }
            string b;
            uint bb;
            while (true)
            {
                Console.WriteLine("Podaj liczbę b");
                b = Console.ReadLine();
                try
                {
                    bb = uint.Parse(b);
                    break;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Wprowadzono liczbę w złym formacie");
                }
                catch (OverflowException)
                {
                    Console.WriteLine("Wprowadzona liczba jest poza dopuszczalnym zakresem");
                }
                catch (ArgumentNullException)
                {
                    Console.WriteLine("Napotkano koniec strumienia");
                }
                Console.WriteLine("Spróbuj jeszcze raz");
            }
            while (aa != bb)
            {
                if (aa > bb)
                {
                    aa = aa - bb; // Subtract b from a
                }
                else
                {
                    bb = bb - aa; // Subtract a from b
                }
            }
            Console.WriteLine($"GCE równe: {aa:F2}");

        }
        static void Task4()
        {
            string a;
            int aa;
            while (true)
            {
                Console.WriteLine("Podaj liczbę a");
                a = Console.ReadLine();
                try
                {
                    aa = int.Parse(a);
                    break;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Wprowadzono liczbę w złym formacie");
                }
                catch (OverflowException)
                {
                    Console.WriteLine("Wprowadzona liczba jest poza dopuszczalnym zakresem");
                }
                catch (ArgumentNullException)
                {
                    Console.WriteLine("Napotkano koniec strumienia");
                }
                Console.WriteLine("Spróbuj jeszcze raz");
            }
            int sum = 0;

            while (aa > 0)
            {
                sum += aa % 10;  
                aa /= 10;         
            }
            Console.WriteLine("The number is: " + sum);
        }
        static void Task5()
        {
            string a;
            BigInteger aa;
            static BigInteger SqrtBigInteger(BigInteger n)
            {
                if (n == 0) return 0;
                BigInteger x = n;
                BigInteger y = (n + 1) / 2;
                while (y < x)
                {
                    x = y;
                    y = (n / y + y) / 2;
                }
                return x;
            }
            while (true)
            {
                Console.WriteLine("Podaj liczbę a");
                a = Console.ReadLine();
                try
                {
                    aa = BigInteger.Parse(a);
                    break;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Wprowadzono liczbę w złym formacie");
                }
                catch (OverflowException)
                {
                    Console.WriteLine("Wprowadzona liczba jest poza dopuszczalnym zakresem");
                }
                catch (ArgumentNullException)
                {
                    Console.WriteLine("Napotkano koniec strumienia");
                }
                Console.WriteLine("Spróbuj jeszcze raz");
            }
            if (aa <= 1)
                Console.WriteLine("Liczba pierwsza");


            if (aa == 2)
                Console.WriteLine("Liczba pierwsza");


            if (aa % 2 == 0)
                Console.WriteLine("Nie liczba pierwsza");
            BigInteger limit = SqrtBigInteger(aa);
            for (BigInteger i = 3; i <= limit; i += 2)
            {
                // Używamy operacji modulo, aby sprawdzić, czy liczba jest podzielna przez i
                if (aa % i == 0)
                {
                    Console.WriteLine("Nie liczba pierwsza");
                    return;
                }
                
            }
            Console.WriteLine("liczba pierwsza");
        }
        static void Task6()
        {
            string a;
            int aa;
            while (true)
            {
                Console.WriteLine("Podaj liczbę a");
                a = Console.ReadLine();
                try
                {
                    aa = int.Parse(a);
                    break;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Wprowadzono liczbę w złym formacie");
                }
                catch (OverflowException)
                {
                    Console.WriteLine("Wprowadzona liczba jest poza dopuszczalnym zakresem");
                }
                catch (ArgumentNullException)
                {
                    Console.WriteLine("Napotkano koniec strumienia");
                }
                catch (ArgumentOutOfRangeException)
                {
                    Console.WriteLine("Wysokość choinki musi być liczbą większą niż 0.");
                }
                Console.WriteLine("Spróbuj jeszcze raz");
            }

            for (int i = 1; i <= aa; i++)
            {
               
                int stars = 2 * i - 1;

                // Obliczanie liczby spacji przed gwiazdkami (wyrównanie do środka)
                int spaces = aa - i;

                // Wypisywanie spacji i gwiazdek
                Console.WriteLine(new string(' ', spaces) + new string('*', stars));
            }

            // Pień choinki (2 linie)
            for (int i = 0; i < 2; i++)
            {
                // Wypisujemy pień (1 gwiazdka w środku)
                Console.WriteLine(new string(' ', aa - 1) + "*");
            }
        }
        static void Task7()
        {
            static int[,] ReadMatrix()
            {
                int size = 0;

                // Wczytanie rozmiaru macierzy
                while (true)
                {
                    Console.WriteLine("Podaj rozmiar macierzy kwadratowej:");
                    try
                    {
                        size = int.Parse(Console.ReadLine());
                        if (size <= 0)
                        {
                            Console.WriteLine("Rozmiar macierzy musi być większy od 0.");
                            continue;
                        }
                        break;
                    }
                    catch (FormatException)
                    {
                        Console.WriteLine("Wprowadzono niepoprawny format liczby. Spróbuj ponownie.");
                    }
                }

                int[,] matrix = new int[size, size];

                // Wczytanie elementów macierzy
                for (int i = 0; i < size; i++)
                {
                    for (int j = 0; j < size; j++)
                    {
                        while (true)
                        {
                            try
                            {
                                Console.Write($"Podaj element [{i},{j}]: ");
                                matrix[i, j] = int.Parse(Console.ReadLine());
                                break;
                            }
                            catch (FormatException)
                            {
                                Console.WriteLine("Wprowadzono niepoprawny format liczby. Spróbuj ponownie.");
                            }
                        }
                    }
                }
                return matrix;
            }
            static void CompareSumsAboveBelowDiagonal(int[,] matrix)
            {
                int size = matrix.GetLength(0);
                int sumAbove = 0, sumBelow = 0;

                // Obliczanie sumy powyżej głównej przekątnej
                for (int i = 0; i < size; i++)
                {
                    for (int j = i + 1; j < size; j++)  // Elementy powyżej przekątnej
                    {
                        sumAbove += matrix[i, j];
                    }
                }

                // Obliczanie sumy poniżej głównej przekątnej
                for (int i = 1; i < size; i++)
                {
                    for (int j = 0; j < i; j++)  // Elementy poniżej przekątnej
                    {
                        sumBelow += matrix[i, j];
                    }
                }

                // Porównanie sum
                if (sumAbove > sumBelow)
                {
                    Console.WriteLine("Suma elementów powyżej głównej przekątnej jest większa.");
                }
                else if (sumAbove < sumBelow)
                {
                    Console.WriteLine("Suma elementów poniżej głównej przekątnej jest większa.");
                }
                else
                {
                    Console.WriteLine("Suma elementów powyżej i poniżej głównej przekątnej jest równa.");
                }
            }
            int[,] matrix = ReadMatrix();   // Wczytanie macierzy
            CompareSumsAboveBelowDiagonal(matrix);
        }
        static void Task8()
        {
            static int GetNumberOfElements()
            {
                int numElements = 0;
                while (true)
                {
                    Console.WriteLine("Podaj liczbę elementów do wprowadzenia (w zakresie 1-10):");
                    try
                    {
                        numElements = int.Parse(Console.ReadLine());
                        if (numElements >= 1 && numElements <= 10)
                        {
                            break;
                        }
                        else
                        {
                            Console.WriteLine("Liczba elementów musi być w zakresie 1-10. Spróbuj ponownie.");
                        }
                    }
                    catch (FormatException)
                    {
                        Console.WriteLine("Wprowadzono niepoprawny format liczby. Spróbuj ponownie.");
                    }
                }
                return numElements;
            }

            // Funkcja do wczytywania liczb całkowitych od użytkownika
            static int[] GetNumbers(int numElements)
            {
                int[] numbers = new int[numElements];
                for (int i = 0; i < numElements; i++)
                {
                    while (true)
                    {
                        Console.WriteLine($"Podaj liczbę {i + 1}:");
                        try
                        {
                            numbers[i] = int.Parse(Console.ReadLine());
                            break;
                        }
                        catch (FormatException)
                        {
                            Console.WriteLine("Wprowadzono niepoprawny format liczby. Spróbuj ponownie.");
                        }
                    }
                }
                return numbers;
            }

            // Funkcja do sortowania liczb
            static void SortAndDisplay(int[] numbers)
            {
                Array.Sort(numbers);  // Sortowanie rosnąco
                Console.WriteLine("Posortowane liczby:");
                foreach (var number in numbers)
                {
                    Console.WriteLine(number);
                }
            }
            int numElements = GetNumberOfElements(); // Wczytanie liczby elementów
            int[] numbers = GetNumbers(numElements); // Wczytanie liczb
            SortAndDisplay(numbers);
        }
        static void Task9()
        {
            static int SumOfDigits(int number)
            {
                int sum = 0;
                while (number > 0)
                {
                    sum += number % 10; // Dodaj ostatnią cyfrę
                    number /= 10; // Usuń ostatnią cyfrę
                }
                return sum;
            }

            // Funkcja główna do obliczenia sumy cyfr dla każdej liczby z ciągu
            static void CalculateSumOfDigitsForEachNumber()
            {
                try
                {
                    Console.WriteLine("Podaj ciąg liczb naturalnych oddzielonych spacjami:");

                    // Wczytanie ciągu liczb
                    string input = Console.ReadLine();

                    // Podzielenie ciągu na liczby
                    string[] numbers = input.Split(' ');

                    foreach (var numStr in numbers)
                    {
                        try
                        {
                            // Konwersja liczby z tekstu na int
                            int number = int.Parse(numStr);

                            // Sprawdzenie, czy liczba jest liczbą naturalną (większą od 0)
                            if (number < 0)
                            {
                                Console.WriteLine("Liczba musi być liczbą naturalną (większą lub równą 0).");
                                continue;
                            }

                            // Obliczanie sumy cyfr
                            int sum = SumOfDigits(number);
                            Console.WriteLine($"Suma cyfr liczby {number} wynosi: {sum}");
                        }
                        catch (FormatException)
                        {
                            Console.WriteLine($"'{numStr}' nie jest poprawną liczbą całkowitą.");
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"Wystąpił błąd: {ex.Message}");
                }
            }
            CalculateSumOfDigitsForEachNumber();
        }
        static void Task10()
        {
            static void ReverseStrings()
            {
                try
                {
                    ArrayList inputStrings = new ArrayList();

                    // Wczytanie łańcuchów aż do pustej linii
                    while (true)
                    {
                        Console.WriteLine("Wprowadź łańcuch (pusta linia kończy):");
                        string input = Console.ReadLine();

                        if (string.IsNullOrEmpty(input)) // Pusta linia kończy wprowadzanie
                            break;

                        // Dodanie łańcucha do listy
                        inputStrings.Add(input);
                    }

                    // Sprawdzenie, czy są jakieś wprowadzone łańcuchy
                    if (inputStrings.Count == 0)
                    {
                        Console.WriteLine("Nie wprowadzono żadnych łańcuchów.");
                        return;
                    }

                    // Odwrócenie kolejności łańcuchów
                    inputStrings.Reverse();

                    Console.WriteLine("Odwrócone łańcuchy:");
                    // Wyświetlanie odwróconej listy
                    foreach (string str in inputStrings)
                    {
                        Console.WriteLine(str);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"Wystąpił błąd: {ex.Message}");
                }
            }
            ReverseStrings();
        }
        static void Main(string[] args)
        {
            while (true)
            {
                Console.WriteLine("Choose a task to run (1, 2, 3, 4, 5, 6, 7, 8, 9 or 10):");
            string choice = Console.ReadLine();
           
                switch (choice)
                {
                    case "1":
                        Task1();
                        break;
                    case "2":
                        Task2();
                        break;
                        
                    case "3":
                        Task3();
                        break;
                        
                    case "4":
                        Task4();
                        break;
                    case "5":
                        Task5();
                        break;
                    case "6":
                        Task6();
                        break;
                    case "7":
                        Task7();
                        break;
                    case "8":
                        Task8();
                        break;
                    case "9":
                        Task9();
                        break;
                    case "10":
                        Task10();
                        break;

                    default:
                        Console.WriteLine("Invalid choice.");
                        break;
                }
            }
        }
    }
}

Editor is loading...
Leave a Comment