Loading...
PetroslavGochev avatar PetroslavGochev 13 Точки

Suitcases Load

Здравейте, задача 05. Suitcases Load от задачите Programming Basics Online Exam - 28 and 29 March 2020 judge ми дава 90/100 може ли някой да погледне и да ми каже къде греша ? 

https://softuni.bg/downloads/svn/programming-basics/Resources/EXAMS-2020/Exam-Version-Two/05.%20Suitcases%20load.pdf Условието на задачата ! 

https://pastebin.com/L4NYLuaT - кодът ми :) Благодаря предварително ! :) 

Тагове:
0
Programming Basics with C#
RoumenRoussev avatar RoumenRoussev 121 Точки
Best Answer

Един вариант който може по-добре да ти покаже последователността на нужните операции.

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            double capacityOfLuggagePlace = double.Parse(Console.ReadLine());
            string input;
            int suitcase = 0;
            int loadedSuitcase = 0;
            while ((input = Console.ReadLine()) != "End")
            {
                suitcase++;
                double volumeOfLuggage = double.Parse(input);
                if ((suitcase % 3 == 0) && (capacityOfLuggagePlace < volumeOfLuggage * 1.1))
                {
                    break;
                }

                if ((suitcase % 3 != 0) && (capacityOfLuggagePlace < volumeOfLuggage))
                {
                    break;
                }

                if (suitcase % 3 == 0)
                {
                    capacityOfLuggagePlace -= volumeOfLuggage * 0.1;
                }

                capacityOfLuggagePlace -= volumeOfLuggage;
                loadedSuitcase++;
            }

            if (input == "End")
            {
                Console.WriteLine($"Congratulations! All suitcases are loaded!");
            }
            else
            {
                Console.WriteLine("No more space!");
            }

            Console.WriteLine($"Statistic: {loadedSuitcase} suitcases loaded.");
        }
    }
}
 

0
kkaraivanov avatar kkaraivanov 486 Точки

Махни else и мисля че ще е Ок

0
kkaraivanov avatar kkaraivanov 486 Точки

Здравей. Пренаписах кода ти и сега си е Ок. Заповядай.

namespace CSICorpMining
{
    using System;

    class StartUp
    {
        //static void Main()
        //{
        //    var app = new CSICorpMiningStartUp();

        //    var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
        //    //var file = $"{path}/Data/debits_2020-06-01.csv";
        //    var file = Console.ReadLine();
        //    var result = app.ImportSensorData(file);

        //    Console.WriteLine(result);
        //}
        static void Main()
        {
            double capacityOfLuggagePlace = double.Parse(Console.ReadLine());
            string line = null;
            int suitcase = 0;
            while (capacityOfLuggagePlace > 0)
            {
                line = Console.ReadLine();
                if (line == "End")
                {
                    Console.WriteLine($"Congratulations! All suitcases are loaded!");
                    break;
                }

                suitcase++;
                double volumeOfLuggage = double.Parse(line);
                if (suitcase % 3 == 0)
                {
                    volumeOfLuggage += volumeOfLuggage * 0.1;
                }

                if (volumeOfLuggage >= capacityOfLuggagePlace)
                {
                    Console.WriteLine("No more space!");
                    suitcase--;
                    break;
                }

                capacityOfLuggagePlace -= volumeOfLuggage;
            }

            Console.WriteLine($"Statistic: {suitcase} suitcases loaded.");
        }
    }
}

 

0
RoumenRoussev avatar RoumenRoussev 121 Точки

Набързо поправих твоето решение за да разбереш уловката и затова е доста грубо. Има и по-елегантни.

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

Поздрави!

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            double capacityOfLuggagePlace = double.Parse(Console.ReadLine());
            string input;
            int suitcase = 0;
            while ((input = Console.ReadLine()) != "End")
            {
                suitcase++;
                double volumeOfLuggage = double.Parse(input);
                if ((suitcase % 3 == 0) && (capacityOfLuggagePlace < volumeOfLuggage * 1.1))
                {
                    suitcase--;
                    break;
                }

                if ((suitcase % 3 != 0) && (capacityOfLuggagePlace < volumeOfLuggage))
                {
                    suitcase--;
                    break;
                }

                if (suitcase % 3 == 0)
                {
                    capacityOfLuggagePlace -= volumeOfLuggage * 0.1;
                }

                capacityOfLuggagePlace -= volumeOfLuggage;
            }

            if (input == "End")
            {
                Console.WriteLine($"Congratulations! All suitcases are loaded!");
            }
            else
            {
                Console.WriteLine("No more space!");
            }

            Console.WriteLine($"Statistic: {suitcase} suitcases loaded.");
        }
    }
}

0
07/08/2020 13:22:01
PetroslavGochev avatar PetroslavGochev 13 Точки

Много Благодаря !! 

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