Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

StefaniMarkova avatar StefaniMarkova 0 Точки

Проблем със задача "Четни / нечетни позиции" от for-цикли - C#

Здравейте,

При решаване на гореспоменатата задача тестването на решението в Judge ми връща 90/100. Тествах и с int вместо double за n, проверих за изпуснати знаци "=" при сравненията и дори пробвах без тях, както и с double.MinValue/double.MaxValue,но тест 4 продължава да връща грешен отговор. С всеки от примерните входове след условието получавам правилен резултат.

Условието: https://csharp-book.softuni.bg/Content/Chapter-5-1-loops/exercises-loops/even-odd-positions.html

Моето решение: https://pastebin.com/zNZteF16

Тагове:
0
Programming Basics
VasilKotsev avatar VasilKotsev 830 Точки

Здравей, до колкото виждам не покриваш case-а където "n" == 0. Принтираш грешните неща. Ето твоя код оправен. Добре е и да ползваш MinValue и MaxValue вместо да hardcode-неш " -1000000000.0" примерно.

0
30/10/2018 22:31:10
StefaniMarkova avatar StefaniMarkova 0 Точки

Благодаря за отговора! След като добавих и проверка за n==0, всичко вече е точно :)

 

Иначе hardcode-натите стойности са зададени по условие, предполагам за сравнително лесна задача като тази Judge няма да подаде чак толкова крайни стойности за вход, но да, съгласна съм че с MinValuе и MaxValue щеше да е много по-издържано :)

0
Tatevos avatar Tatevos 9 Точки

using System;

namespace ConsoleApp21
{
    class Program
    {
        static void Main(string[] args)
        {
            int counter = int.Parse(Console.ReadLine());
            double oddMax = int.MinValue;
            double oddMin = int.MaxValue;
            double oddSum = 0;
            double evenMax = int.MinValue;
            double evenMin = int.MaxValue;
            double evenSum = 0;
            for(int i = 1; i <= counter; i++ )
            {
                double number = double.Parse(Console.ReadLine());
                if(i % 2 == 0 )
                {
                    if(number > evenMax)
                    {
                        evenMax = number;
                    }
                    else if(number < evenMin)
                    {
                        evenMin = number;
                    }
                    evenSum += number;
                }
                else if(i % 2 != 0)
                {
                    if(number > oddMax)
                    {
                        oddMax = number;
                    }
                    else if(number < oddMin)
                    {
                        oddMin = number;
                    }
                    oddSum += number;
                }

            }
            Console.WriteLine($"OddSum ={oddSum :f2}" );
            if (oddMin == int.MaxValue)
            {
                Console.WriteLine("No");
            }
            else
            {
                Console.WriteLine($"OddMin= {oddMin :f2}");
            }
            if(oddMax == int.MinValue)
            {
                Console.WriteLine("No");
            }
            else
            {
                Console.WriteLine($"OddMax = {oddMax :f2}");
            }
            Console.WriteLine($"EvenSum ={evenSum :f2}");
            if(evenMin == int.MaxValue)
            {
                Console.WriteLine("No");
            }
            else
            {
                Console.WriteLine($"EvenMin = {evenMin :f2}");
            }
            if(evenMax == int.MinValue)
            {
                Console.WriteLine("No");
            }
            else
            {
                Console.WriteLine($"EvenMax = {evenMax :f2}");
            }
        }
    }
}

 

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