Loading...
desi77slava avatar desi77slava 3 Точки

Задача 8Train the trainers

Може ли малко помощ...виждам какъв е проблема, но не разбирам защо се получава и как да го оправя.

Условието на задачата е следното:

Курсът "Train the trainers" е към края си и финалното оценяване наближава. Вашата задача е да помогнете на журито което ще оценява презентациите, като напишете програма в която да изчислява средната оценка от представянето на всяка една презентация от даден студент, а накрая средният успех от всички тях.

От конзолата на първият ред се прочита броят на хората в журито n - цяло число в интервала [1…20]

След това на отделен ред се прочита името на презентацията - текст

За всяка една презентация на нов ред се четат n - на брой оценки - реално число в интервала [2.00…6.00]

След изчисляване на средната оценка за конкретна презентация, на конзолата се печата

 "{името на презентацията} - {средна оценка}."

След получаване на команда "Finish" на конзолата се печата "Student's final assessment is {среден успех от всички презентации}." и програмата приключва.

Всички оценки трябва да бъдат форматирани до втория знак след десетичната запетая.

Ето и моето очевидно грешно решение

https://pastebin.com/VL95gW7n

Тагове:
0
Programming Basics
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

   counter++; това няма място в for цикъла, ти както си го написала за всяка презентация добавяш броя на журито като презентация. и става примерно имаш презентация с среден 6 и друга с среден 4

имаш 10/2 =5 а при теб ако имаш 3ма в журито става 10/6=1.3 нещо такова

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

и вместо това  midleSum = sum / counter; по-скоро направи  middleSum+=allsum в while цикъла и после си е същото делиш на counter-a

0
24/11/2018 17:38:11
desi77slava avatar desi77slava 3 Точки

направих промените за които говориш и стана по зле...

0
sisis003 avatar sisis003 64 Точки

Здравей, отбелязах редовете, по които направих леки промени, за да работи кодът.

Необходимо е sum да се занулява след всяко завъртане на for цикъла, за да може програмата да връща правилната оценка за всяка презентация. Но за да може и middleSum да дава верен резултат, трябва стойността на sum да се записва в нея.

 

using System;

namespace _08trainTheTrainers
{
    class Program
    {
        static void Main(string[] args)
        {
            int numberJury = int.Parse(Console.ReadLine());

            double sum = 0;
            double allSum = 0;
            double midleSum = 0;
            int counter = 0;
            string namePresentation = "";

            while (true)
            {
                namePresentation = Console.ReadLine();

                if (namePresentation == "Finish")
                {
                    break;
                }
                for (int i = 1; i <= numberJury; i++)
                {
                    double evaluation = double.Parse(Console.ReadLine());
                    sum += evaluation;
                    allSum = sum / numberJury;
                    counter++;
                }

                Console.WriteLine($"{namePresentation} - {allSum:f2}.");
                midleSum += sum;                    /////////////////
                sum = 0;                            /////////////////
            }
            midleSum /= counter;                    /////////////////
            Console.WriteLine($"Student's final assessment is {midleSum:f2}.");
        }
    }
}

 

0
desi77slava avatar desi77slava 3 Точки

благодаря сиси..нямах време да влезна да видя ...примерен изпит карахме...взех си 600 ма то другия няма е така лесно...чак херпес ми излеза да гледам тоз час и да мисля дали ще ми стигне времето..иначе кода ми май не е в ред щом трябва да занулявам ...това трябва на ново да го напиша определено би имало по свестен вариантsmiley

1
sisis003 avatar sisis003 64 Точки

Не се притеснявай, съвсем в ред си е. В случая имаш повтарящо се действие (четенето на оценки за конкретна презентация) и затова е необходимо да се пише

sum += evaluation;

За следващата  презентация обаче трябва наново да започнат да се трупат оценки, за да даде валидна оценка накрая.

 

Ще се справиш на изпита, задачите ще бъдат подобни, не вярвам да са много по-сложни от тези.

Успех! :)

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