Loading...
Rumyanarusimova avatar Rumyanarusimova 20 Точки

ЗадачаOdd/Even position

Здравейте!

Някой може ли да ми обясни защо кода не работи- 0 точки, и се изписват някакви странни числа.Благо

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Odd_Even_position
{
    class Program
    {
        static void Main(string[] args)
        {
            var n = double.Parse(Console.ReadLine());
            var oddSum = 0.0;
            var oddMin = double.MaxValue;
            var oddMax = double.MinValue;
            var evenSum = 0.0;
            var evenMin = double.MaxValue;
            var evenMax = double.MinValue;

            for (int i = 0; i < n; i++)
            {
                var num = double.Parse(Console.ReadLine());
                if (i % 2 != 0.0)
                {
                    oddSum += num;
                    if (num > oddMax)
                    {
                        oddMax = num;
                    }

                    if (num < oddMin)
                    {
                        oddMin = num;
                    }

                    else
                    {

                        evenSum += num;
                        if (num > evenMax)
                        {
                            evenMax = num;
                        }
                        if (num < evenMin)
                        {
                            evenMin = num;
                        }
                    }
                    if (n == 0)
                    {
                        Console.WriteLine("oddSum = 0, oddMin = No, oddMax = No, evenSum = 0, evenMin = No, evenMax = No");
                    }
                    else if (n == 1)
                    {
                        Console.WriteLine("oddSum = {0}, oddMin = {1}, oddMax = {2}, evenSum = 0, evenMin = No, evenMax = No", oddSum, oddMin, oddMax);

                    }
                    else
                    {
                        Console.WriteLine("oddSum ={0}, oddMin = {1}, oddMax = {2},evenSum = {3}, evenMin = {4}, evenMax = {5}"
                          ,oddSum, oddMin, oddMax, evenSum, evenMin, evenMax);

                    }
                }
            }

        }
    }
}

       
    
        

    

            

            
        

    

    
    


 

даря предварително.

0
Programming Basics
VenciSarov avatar VenciSarov 37 Точки

Почни цикъла от 1. Друга грешка не можах да видя и един съвет: позлвай дебъгера, бързо ще си намираш грешките с него.

Ето едно мое решение на въпросната задача:

using System;

class Program
{
    static void Main()
    {
        int n = int.Parse(Console.ReadLine());

        double oddSum = 0;
        double evenSum = 0;

        double oddMax = double.MinValue;
        double oddMin = double.MaxValue;

        double evenMax = double.MinValue;
        double evenMin = double.MaxValue;

        for (int i = 1; i <= n; i++)
        {
            double num = double.Parse(Console.ReadLine());
            if (i % 2 != 0)
            {
                oddSum += num;

                if (num > oddMax)
                {
                    oddMax = num;
                }
                if (num < oddMin)
                {
                    oddMin = num;
                }
            }
            else
            {
                evenSum += num;
                if (num > evenMax)
                {
                    evenMax = num;
                }
                if (num < evenMin)
                {
                    evenMin = num;
                }
            }
        }
        if (n == 0)
        {
            Console.WriteLine("OddSum={0},", oddSum);
            Console.WriteLine("OddMin=No,");
            Console.WriteLine("OddMax=No,");
            Console.WriteLine("EvenSum={0},", evenSum);
            Console.WriteLine("EvenMin=No,");
            Console.WriteLine("EvenMax=No");
        }
        else if (n == 1)
        {
            Console.WriteLine("OddSum={0},", oddSum);
            Console.WriteLine("OddMin={0},", oddMin);
            Console.WriteLine("OddMax={0},", oddMax);
            Console.WriteLine("EvenSum={0},", evenSum);
            Console.WriteLine("EvenMin=No,");
            Console.WriteLine("EvenMax=No");
        }
        else
        {
            Console.WriteLine("OddSum={0},", oddSum);
            Console.WriteLine("OddMin={0},", oddMin);
            Console.WriteLine("OddMax={0},", oddMax);
            Console.WriteLine("EvenSum={0},", evenSum);
            Console.WriteLine("EvenMin={0},", evenMin);
            Console.WriteLine("EvenMax={0}", evenMax);
        }

    }
}

0
pebodi avatar pebodi 29 Точки

Същата задача, но Java.

Решението ми е същото в С#, като естествено е променен синтаксисът за различаващите се оператори.

В С# - резултат - 100 точки, в Java - 20 точки. ?!

Решението в Java - http://pastebin.com/EdXMB16Z .

Решението в С# - http://pastebin.com/2hmcU3nx .

Питане - защо едно и също решение в С# и Java дават различни изпитни резултати?

Редактирам поста си.

Не бях гледал видеото с лекцията. В края там въпросът ми е обяснен.

Използва се Decimal Format.

 

 

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