Loading...
+ Нов въпрос
CryptosBG avatar CryptosBG 0 Точки

C# Fundamentals - Data Types - 08. Beer Kegs [80/100]

По някаква причина единият резултат от 5-те е грешен и не мога да разбера защо. Всичко ми изглежда наред, когато въведа примерните Input-и се получава, но Judge системата не ми дава 100/100. Кодът ми е:

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

namespace DataTypes_8_BeerKegs
{
    class Program
    {
        static void Main(string[] args)
        {
            int beerKegs = int.Parse(Console.ReadLine());
            double previousVolume = 0.0;
            string previousModel = "";
            string biggestKeg = "";

            for (int i = 0; i < beerKegs; i++)
            {
                string currentModel = Console.ReadLine();
                double radius = float.Parse(Console.ReadLine());
                double height = int.Parse(Console.ReadLine());

                double currentVolume = 3.14 * radius * radius * height;
                if (currentVolume >= previousVolume)
                {
                    biggestKeg = currentModel;
                }
                else
                {
                    biggestKeg = previousModel;
                }
                previousModel = currentModel;
                previousVolume = currentVolume;
            }
            if (previousVolume != 0)
            {
                Console.WriteLine(biggestKeg);
            }
        }
    }
}

Благодаря за помощта предварително.

Тагове:
0
Module: C# Advanced
AlexanderHr avatar AlexanderHr 18 Точки

Проблемът е, че ти сравняваш сегашния модел с предишния, когато трябва да сравняваш сегашния с най-големия до момента.

4
keg1
10
10
keg2
9
9
keg3
8
8
keg4
7
7

Пробвай този тест.

0
JulianJulianov avatar JulianJulianov 9 Точки

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

namespace _8BeerKegs
{
    class Program
    {
        static void Main(string[] args)
        {
            var numBeer = int.Parse(Console.ReadLine());
            
            double biggestKeg = double.MinValue;     // С този ред избягвам по-сложното сравнение, което си      направил с if/else конструкцията. //
            string modelBeer = "";
            string biggestBeer = "";
            for (int i = 1; i <= numBeer; i++)
            {
                modelBeer = Console.ReadLine();
                var radius = double.Parse(Console.ReadLine());
                var height = int.Parse(Console.ReadLine());
               
                double volumeKeg = Math.PI * radius * radius * height;
                if (volumeKeg > biggestKeg)
                {
                    biggestKeg = volumeKeg;
                    biggestBeer = modelBeer;
                }
            }
            Console.WriteLine(biggestBeer);
        }
    }
}

0
29/09/2019 16:16:25
manevpsp avatar manevpsp 8 Точки

Може да разгледаш и моя код :) 

using System;

namespace _08._Beer_Kegs
{
    class Program
    {
        static void Main(string[] args)
        {
            int numbersOfBeerKegs = int.Parse(Console.ReadLine());
            double biggestKeg = 0;
            string kegName = string.Empty;
            for (int i = 0; i < numbersOfBeerKegs; i++)
            {
                string modelOfTheKeg = Console.ReadLine();
                double radiusOfTheKeg = double.Parse(Console.ReadLine());
                double heightofTheKeg = double.Parse(Console.ReadLine());

                double volume = Math.PI * radiusOfTheKeg * radiusOfTheKeg * heightofTheKeg;
                if (volume > biggestKeg)
                {
                    biggestKeg = volume;
                    kegName = modelOfTheKeg;
                }
            }
            Console.WriteLine(kegName);
        }
    }
}
 

1
kdew0 avatar kdew0 7 Точки

Ето и моето решение, със float. :)

using System;

namespace BeerKegs
{
    class Program
    {
        static void Main(string[] args)
        {
            string biggestModel = string.Empty;
            float biggestVolume = float.MinValue;

            int value = int.Parse(Console.ReadLine());
            for (int i = 0; i < value; i++)
            {
                string model = Console.ReadLine();
                float radius = float.Parse(Console.ReadLine());
                int height = int.Parse(Console.ReadLine());

                float volume = MathF.PI * MathF.Pow(radius, 2) * height;
                if (volume > biggestVolume)
                {
                    biggestModel = model;
                    biggestVolume = volume;
                }
            }

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