Loading...
DimitrovDelyan avatar DimitrovDelyan 0 Точки

Multiplication sign от methods more- exercise, C#

Здравейте колеги, може ли да споделите вашите идей как решихте задачата без да умножавате трите числа? Търся най- оптималния начин за решението на задачата. Моят вариант е да броя положителните знаци, като според това определям изхода.

 

using System;

namespace Multiplication_sign
{
    class Program
    {
        static int PositiveNegative(int num1, int num2, int num3)
        {
            int br = 0;
            //if nums are negative
            if (num1 == 0 || num2 == 0 || num3 == 0)
            {
                br = -1;
                return br;

            }

            //count of positive
            if (num1 > 0)
                br++;
            if (num2 > 0)
                br++;
            if (num3 > 0)
                br++;

            return br;

        }
        static void Main(string[] args)
        {
            int firstNum = int.Parse(Console.ReadLine());
            int secondNum = int.Parse(Console.ReadLine());
            int thirdNum = int.Parse(Console.ReadLine());

            int br = PositiveNegative(firstNum, secondNum, thirdNum);
            if (br == -1)
                Console.WriteLine("zero");
            else if (br % 2 == 0)
                Console.WriteLine("negative");
            else if (br % 2 != 0)
                Console.WriteLine("positive");

        }
    }
}

0
Module: C# Advanced
SamuilDimitrov01 avatar SamuilDimitrov01 2 Точки

using System;
using System.Linq;
using System.Numerics;

namespace Methods_More_Exercises_Last_one
{
    internal class Program
    {

        static int CountNegativeNumbers(int[] numArr)
        {
            return numArr.Count(symbol => symbol < 0);//броим броя на отрицателните числа
        }

        static void Main(string[] args)
        {

    //5.Multiplication Sign
            int[] numArr = new int[3];

            for (int i = 0; i < 3; i++)
            {
                numArr[i] = int.Parse(Console.ReadLine());
            }

            if (numArr.Any(symbol => symbol == 0)) //ако някое от числата е 0 затрива всички, защото всичко става 0
            {
                Console.WriteLine("zero");
                return;
            }

            if (CountNegativeNumbers(numArr) % 2 == 0) //ако имаме четен брой негативни числа стават позитивни (по двойки Пример: -2*-2=4)
                Console.WriteLine("positive");
            else //в противен случай щом едно число нарушава балансът с - всички стават отрицателни
                Console.WriteLine("negative");
        }
    }
}

 

0
16/06/2023 02:01:22
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.