• 1405/03/07

تمرین جلسه 17- تفکیک اعداد زوج و فرد :

با سلام. با توجه به اینکه ما در این بخش آموزش آرایه ها را دیده بودیم من دو نمونه از برنامه نوشتم. یکی با استفاده از آرایه ها که کدهای بیشتری می طلبید و راه حل منطقی نبود ولی برای اینکه از آرایه ها استفاده شود آنرا انجام دادم و روش دوم با کد کمتر ولی بدون استفاده از آرایه ها. خروجی هر دو برنامه یکسان است.

روش اول با استفاده از آرایه ها:

Console.WriteLine("Please enter a number to seperate even and odd numbers:");
try
{
    string? input = Console.ReadLine();
    int number = Convert.ToInt32(input);
    Console.WriteLine("\t==============================");

    int oddNumberCount;
    int evenNumberCount;

    if (number % 2 == 0)
    {
        evenNumberCount = number / 2;
        oddNumberCount = number / 2;
    }
    else
    {
        evenNumberCount = number / 2;
        oddNumberCount = (number / 2) + 1;
    }

    int[] oddNumber = new int[oddNumberCount];
    int[]? evenNumber = new int[(evenNumberCount + 1)];

    for (int i = 0; i < oddNumberCount; i++)
    {
        oddNumber[i] = i * 2 + 1;
    }

    for (int i = 0; i < evenNumberCount; i++)
    {
        evenNumber[i] = i * 2 + 2;

    }

    Console.Write("\t Odd Numbers");
    Console.WriteLine("\t Even Numbers");
    Console.Write("\t -----------");
    Console.Write("\t ------------");
    Console.ForegroundColor = ConsoleColor.Green;

    for (int i = 0; i < oddNumberCount; i++)
    {
        if (evenNumber[i] == 0)
        {
            Console.Write($"\n\r\t {oddNumber[i]}");
        }
        else
        {
            Console.Write($"\n\r\t {oddNumber[i]}\t\t {evenNumber[i]}");
        }
    }
}
catch
{
    Console.ForegroundColor = ConsoleColor.Red;
    Console.WriteLine("--------------------------");
    Console.WriteLine("Please enter just number !");
    Console.WriteLine("--------------------------");
}
finally
{
    Console.ResetColor();
    Console.WriteLine("\n\r\t==============================");
}

روش دوم بدون استفاده از آرایه ها:

Console.WriteLine("Please enter a number to seperate even and odd numbers:");
try
{
    string? input = Console.ReadLine();
    int number = Convert.ToInt32(input);

    Console.WriteLine("\t ==============================");
    Console.Write("\t Odd Numbers");
    Console.WriteLine("\tEven Numbers");
    Console.Write("\t -----------");
    Console.Write("\t------------");
    Console.ForegroundColor = ConsoleColor.Green;

    for (int i = 0; i < number / 2; i++)
    {
        if (number % 2 != 0 && i == (number / 2) - 1)
        {
            Console.Write($"\n\r\t {(i * 2) + 1} \t\t{(i * 2) + 2}");
            Console.Write($"\n\r\t {(i * 2) + 3}");
        }
        else
        {
            Console.Write($"\n\r\t {(i * 2) + 1} \t\t{(i * 2) + 2}");
        }
    }
}
catch
{
    Console.ForegroundColor = ConsoleColor.Red;
    Console.WriteLine("--------------------------");
    Console.WriteLine("Please enter just number !");
    Console.WriteLine("--------------------------");
}
finally
{
    Console.ResetColor();
    Console.WriteLine("\n\r\t==============================");
}

خروجی کار: