Loading...
MartinMinev avatar MartinMinev 1 Точки

Graduation2 - и на двата примера, Пешо и Мими, ми дава верен резултат, обаче джъдж е категоричен с 44 точки!

using System;

namespace graduation2
{
    class MainClass
    {
        public static void Main(string[] args)
        {

            string name = Console.ReadLine();
            double totalGrade = 0.00;
            double counter = 1.00;
            double counterOne = 1.00;

            while (counter <= 12)
            {
                double score = double.Parse(Console.ReadLine());


                if (score >= 4)
                {

                    totalGrade = totalGrade + score;
                    counter += 1;
                }

                else if (score < 4)

                { 
                    while (counterOne <= 2)
                        {
                        score = double.Parse(Console.ReadLine());
                        totalGrade = totalGrade + score;
                        counter += 1;
                        counterOne += 1;
                        Console.WriteLine($"{name} has been excluded at {(counter-1)} grade");

                        }                  
                }


            }

            double averageGrade = totalGrade / 12;

            Console.WriteLine($"{name} graduated. Average grade: {averageGrade:F2}");


        }
    }
}

Тагове:
0
Programming Basics
mark79 avatar mark79 639 Точки

Здравей,

като за начало може да имаш предвид, че броячите могат да са от целочислен тип.

            int counter = 1;
            int counterOne = 0;

После нямаш нужда от този вложен while цикъл, а просто следното

                    counterOne++; // увеличаваме брояча на лошите оценки
                    if (counterOne >= 2) // ако са 2 и/или повече прекъсваме цикъла
                    {
                        break;
                    }

И накрая печатаме данните

            if (counterOne >= 2)
            {
                Console.WriteLine($"{name} has been excluded at {counter} grade");

            }
            else
            {
                double averageGrade = totalGrade / 12;
                Console.WriteLine($"{name} graduated. Average grade: {averageGrade:F2}");
            }

Поздрави :)

PS -> Принудителното излизане от цикъла може да го добавим в условието на цикъла и да оставим само увеличението на брояча за лошите оценки. Би се получило нещо такова.

while (counter <= 12 && counterOne < 2)

...

else if (score < 4)
{
    counterOne++;
}

При проверката за брояча на лошите оценки, то тя може да се разпише като

            if (counterOne > 1)

или

            if (counterOne == 2)

 

0
12/10/2019 08:02:38
MartinMinev avatar MartinMinev 1 Точки

Благодаря много, проработи съответно! За counter-a знам, че е int., нещо се бях престарал. А ако остане double би трябвало пак да функционира, или? Поздрави.

0
mark79 avatar mark79 639 Точки

Здравей,

може би можеш сам да провериш дали ще функционира, друг въпрос е дали има смисъл?!

Поздрави :)

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