Loading...
TKlasnakov avatar TKlasnakov 28 Точки

[Homework] C# Basics - Problem {15*} Joro, the Football Player

Здравейте, колеги,

аз срещнах малко странен проблем и не мога да го открия точно къде е. Дава ми 9 от 10 верни отговора  и нямам представа къде съм го сгрешил. Предполагам е проблем при закръглянето на числата, но ... Ако можете да ми помогнете. Това е кодът ми : 

Source Code

 

Тагове:
-1
Programming Basics 26/09/2014 23:39:30
jabalka:
Темата е дублирана: https://softuni.bg/forum/questions/details/1192
Filkolev avatar Filkolev 4482 Точки

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

Ползваш целочислено деление и затова програмата ти не смята правилно. 12/5 е целочислено делене, което ще ти върне резултат 2. За да го оправиш, трябва едно от двете числа да ги зададеш като floating point, например така: 12.0/5, или: 12/5.0. 

В твоя случай ползваш float, така че и едно f трябва да сложиш. На две места правиш сметки по този начин, така че и на двете места трябва да внесеш корекции.

1
TKlasnakov avatar TKlasnakov 28 Точки

Изключително тъп въпрос ще ти задам, колега, но явно ти си единственият, който би ми отоговрил. Къде да сложа "f" при положение, че използвам други променливи ?  

0
26/09/2014 20:23:25
Filkolev avatar Filkolev 4482 Точки

Конкретно по кода ти (хващам по-краткия ред):

 float playsInHolidays = holidays / 2;

Имаш няколко варианта.

1) float playsInHolidays = holidays / 2f;

2) float playsInHolidays = (float)holidays / 2;

3) float playsInHolidays = holidays / (float)2;

Резултатът ще е еднакъв. 

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

1
fredddy avatar fredddy 27 Точки

Според мен малко много са променливите. Аз съм го решил само с една променлива от тип Int къде правя всички изчисления  ето кода 

using System;


namespace _15.JoroTheFootballPlayer
{
       class JoroTheFootballPlayer
      {
             static void Main()
            {

              string isLeapYear = Console.ReadLine();

              ushort numHolidays = ushort.Parse(Console.ReadLine());

              byte hometownWekends = byte.Parse(Console.ReadLine());

              int plays = hometownWekends+(((52-hometownWekends)*2/3)+numHolidays/2);
                   

                   if (isLeapYear=="t")
                  {
                        plays = plays + 3;
                  }

              Console.WriteLine(plays);


              }
       }   
}

1
26/09/2014 19:38:26
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Колега, не е добра практика да се поства кода директно във форума. Използвай github или pastebin, където кода е форматиран правилно и е лесно четим.

2
TKlasnakov avatar TKlasnakov 28 Точки

А защо "*2/3" при положение, че той не е уморен 1/3 от уикендите по условие ? 

0
fredddy avatar fredddy 27 Точки

Благодаря за забележката и съжалявам но просто на домашния компютър не съм си инсталирал github for windows   а кода го копнах дирекно от judge системата на софт уни.

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