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

"Прости пресмятания" - Въпрос относно Задача 8 "Triangle Area" от упражненията

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

Решавайки задача 8 от упражненията върху "Прости пресмятания", при мен възникна един казус. Бих се радвал, ако някой може да каже защо така се случва - нещо в кода ми ли не е ОК или е някакъв бъг?

Става въпрос за следното - при стартиране на програмата, функцията за закръгляне до 2 знака след "." не работи и получавам отговори с повече цифри. Пресмятанията са верни, но просто отговорът не е закръглен. В judge, обаче, кодът минава със 100/100 и няма проблем. Пробвах както с печатане с шаблони, така и с интерполация, но няма разлика. (ако това изобщо може да даде някакво отражение...)

Ето това е и кодът:

{
            var a = double.Parse(Console.ReadLine());
            var h = double.Parse(Console.ReadLine());
            var area = (a * h) / 2.0;
            Console.WriteLine("Area = {0}", area, Math.Round(area, 2));
}

Благодаря предварително!

0
Programming Basics
dvdty avatar dvdty 497 Точки
{
    var a = double.Parse(Console.ReadLine());
    var h = double.Parse(Console.ReadLine());
    var area = (a * h) / 2.0;
    Console.WriteLine("Area = {0}", area, Math.Round(area, 2));
}

Ти даваш стойността без закръгляне на WriteLine-на в момента. Имаш само 1 placeholder, в string-a и 2 неща след запетайката. 

Пробвай така:

{
    var a = double.Parse(Console.ReadLine());
    var h = double.Parse(Console.ReadLine());
    var area = (a * h) / 2.0;
    Console.WriteLine("Area = {0}", Math.Round(area, 2));
}

 

0
VasilValchanov avatar VasilValchanov 555 Точки

Console.WriteLine("Area = {0}", area, Math.Round(area, 2));

Tака написано изписваш незакръглената площ "area".
За да изпишеш закръглената площ до втория знак трябва да махнеш "area" от метода Console.WriteLine и да оставиш само Math.Round(area, 2) защото шаблона "{0}" в твоя случай отговаря за "area".

0
patrikoff avatar patrikoff 1 Точки

Благодаря за помощта! Разбрах къде греша при извеждането с шаблон. Сетих се и как ще стане при използването на интерполация ($):

Console.WriteLine($"Area = {Math.Round(area, 2)}").

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

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