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

SAMPLE EXAM - April 2016

Имам лек проблем със Judge системата. Получавам целия output вярно. Спазил съм формата на печатане. Въпреки всичко, не мога да си взема точките.     

https://judge.softuni.bg/Contests/Practice/Index/182#0         --- > Това е линкът към задачата. 

Ето го и решението ми : 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Names
{
    class Program
    {
        static void Main(string[] args)
        {
            double usd = double.Parse(Console.ReadLine());
            int usdWeight = int.Parse(Console.ReadLine());
            double gbp = double.Parse(Console.ReadLine());
            int gbpWeight = int.Parse(Console.ReadLine());
            double cny = double.Parse(Console.ReadLine());
            int cnyWeight = int.Parse(Console.ReadLine());

            double USDperKG = (usd / usdWeight)/0.58;
            double GBPperKG = (gbp / gbpWeight)/0.41;
            double CNYperKG = (cny / cnyWeight) * 0.2700;
            double lowestpriceperkg = Math.Round(Math.Min(CNYperKG, Math.Min(USDperKG, GBPperKG)), 2);
            double highestpriceperkg = Math.Round(Math.Max(CNYperKG, Math.Max(USDperKG, GBPperKG)), 2);
            double difference = highestpriceperkg - lowestpriceperkg;
            string country;

            if (lowestpriceperkg == CNYperKG)
                country = "Chinese";
            else if (lowestpriceperkg == USDperKG)
                country = "USD";
            else
                country = "UK";
            Console.WriteLine($"{country} store. {Math.Round(lowestpriceperkg,2)} lv/kg");
            Console.WriteLine($"Difference {Math.Round(difference,2)} lv/kg");
        }
    }
}
 

Тагове:
0
Programming Basics 19/04/2016 14:34:56
borislav9212 avatar borislav9212 745 Точки
Best Answer

Да имаш много грешки, смени си алгиритъм на задачата. да намериш difference  се използва " Math.Abs", ама си го забравил. Почни отначало, ако се запънеш това ми е кода http://pastebin.com/BDfja5nt

0
Simeon.R avatar Simeon.R 198 Точки

Когато го пуснеш в judge, виж в детайлите нулевите тестове. Системата ще ти покаже какво очаква, а ти какво печаташ. Освен това имаш и два теста, които не се изпълняват, което значи, че освен печатането ти гърми и някой тест. 

0
rostislav_kolev avatar rostislav_kolev 3 Точки

Това го знам. В един момент беше всичко идеално и пак гърмеше. Разровичках още малко и сега не ми излиза крайната 0 след запетаята . 2.70  -- > 2.7 

Пробвах всякакви варианти, които са ми известни, но си гърми и това е . Би ли хвърлил едно око ? Благодаря :)) 

0
Thenis avatar Thenis 219 Точки

Ако искаш 2.7 да ти излиза като 2.70, трябва в placeholder-ра да сложиш {0 : 0.00} или {0: f2}. Повече информация можеш да намериш тук.

0
Simeon.R avatar Simeon.R 198 Точки

Както колегата коментира по-долу имаш други грешки, който сега видях.

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

- за тежестите в Constraints е казано изрично какъв тип данни да използваш

-  Math.Round е излишно, вместо него можеш при печатането да използваш placeholder, в който да добавиш формат да изписва до втори десетичен знак {X:f2}

Препоръка -за изчисления с пари използвай decimal. 

0
19/04/2016 15:01:36
Thenis avatar Thenis 219 Точки

Препоръчвам ти да почнеш отначало и си прочети условето отново. Имаш много грешки. Начина по който превръщаш лв към други валути(особено внимание обърни на китайската валута). Обърни внимание също на "Constraints" в условието. Там ти пише какъв тип данни трябва да използваш, ти не използваш правилните. И ако може измисли друг по-лесен алгоритъм. Също така от output- та ти липсват някои неща.

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