Професионална програма
Loading...
+ Нов въпрос
PetroslavGochev avatar PetroslavGochev 1 Точки

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 115 Точки
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 403 Точки

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

0
kkaraivanov avatar kkaraivanov 403 Точки

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

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 115 Точки

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

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

Поздрави!

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 1 Точки

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

0