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

Programming Basics Online Exam - 20 and 21 April 2019 - 05.Easter Eggs

Здравейте, имам затруднение с решението на задача 5 от миналогодишния изпит; ако някой може да ми помогне да довърша решението, ще съм благодарна :) не съм сигурна как да сравня броя на яйцата с различни цветове ... :

https://pastebin.com/j9WncyaJ

 

 

Тагове:
0
Programming Basics with C#
ZlatimirIvanov avatar ZlatimirIvanov 3 Точки

Можеш да си направиш една променлива с начална стойност 0 и да проверяваш дали броя яйца от съответния цвят е по-голям от тази променлива - ако да - променливата става равна на съответния брой. Като провериш за всички цветове ще имаш максималния брой яйца. Също ти трябва и променлива, в която да запомниш цвета - с начална стойност празен низ.

Дано да съм ти помогнал.

0
vik.viciousss avatar vik.viciousss 1 Точки

И аз така го бях направила, но мислех че има по-добър начин от няколко отделни if проверки за макс брой яйца .. Благодаря ти :)

0
kkaraivanov avatar kkaraivanov 486 Точки

Здравей. Пействам ти готово и тествано решение на задачата. Мисля че

- Може би неуспяваш да намериш решение защото има грешка в документа на условието. Грешката е в думата "orange". Ако копираш тази дума от ппървия тест и я поставиш в проверката на втория тест, изхода се получава.

- Следвай секция " Обяснения " в този модул. Всеки ред е част от решение на задачат.

 

Ето и кода който успях да сътворя набързо -

using System;

namespace BasicsOnlineExamApril2019
{
    class Program
    {
        static void Main(string[] args)
        {
            int countEgg = int.Parse(Console.ReadLine());
            int red = 0;
            int orange = 0;
            int blue = 0;
            int green = 0;
            int maxEggs = int.MinValue;
            string eggColor = null;

            for (int i = 0; i < countEgg; i++)
            {
                string collor = Console.ReadLine();
                switch (collor)
                {
                    case "red":
                        red++;
                        if (red > maxEggs)
                        {
                            maxEggs = red;
                            eggColor = collor;
                        }
                        break;
                    case "orange":
                        orange++;
                        if (orange > maxEggs)
                        {
                            maxEggs = orange;
                            eggColor = collor;
                        }
                        break;
                    case "blue":
                        blue++;
                        if (blue > maxEggs)
                        {
                            maxEggs = blue;
                            eggColor = collor;
                        }
                        break;
                    case "green":
                        green++;
                        if (green > maxEggs)
                        {
                            maxEggs = green;
                            eggColor = collor;
                        }
                        break;
                }
            }
            
            Console.WriteLine($"Red eggs: {red}" +
                              $"{Environment.NewLine}Orange eggs: {orange}" +
                              $"{Environment.NewLine}Blue eggs: {blue}" +
                              $"{Environment.NewLine}Green eggs: {green}" +
                              $"{Environment.NewLine}Max eggs: {maxEggs} -> {eggColor}");
        }
    }
}

Ако занапред ти е необходима помощ за задачите, погледни ТУК като разгледаш отделните репозиторита. Ако неуспееш да откриеш решение, ще се опитам да помогна ако опишеш проблема на този адрес

Ако търсиш решение което е after този модул, ще ти пренапиша кода с речник, лист, стек, опашка. ...или което ти е интересно

0
26/06/2020 00:31:37
vik.viciousss avatar vik.viciousss 1 Точки

има грешка с подадения вход и аз го установих, мисля че е интервала след думата защото променливата е string, иначе благодаря за съдействието :)

0
kkaraivanov avatar kkaraivanov 486 Точки

Да, не бях търсил грешката, но наистина е в интервала. Свикнах да дебъгвам входа, не само интервалите са проблем. Стринг-а като масив, може да съдържа и уникод символи което създава проблем и чупи програмата и трябва да се фикс-ва в самото начало. Радвам се че вс. е Ок и помогнах. Успе

0