Loading...
VanessaShopping avatar VanessaShopping 48 Точки

Simple Conditions Exercises - Problem 9 - Конвертор за мерни единици

Здравейте

Пробвах да реша задачата и почти съм убеден ,че е правилна , но в джъджа ми дава само 87 точки и това не ме кефи :)

Не мога да разбера къде бъркам. Ето го и кода http://pastebin.com/xRNGf3YM

Тагове:
0
Programming Basics
Lencho avatar Lencho 11 Точки

Изтрий 7,9 и 11 ред от кода и пробвай пак. Пиши какво е станало ;)

0
VanessaShopping avatar VanessaShopping 48 Точки

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

 

0
pebodi avatar pebodi 29 Точки

Първо опитай, дали когато въведеш 1 метър, отговорът ще е 1 метър и т.н. При мен, 5-6 пъти пробвах, докато разбера, че бъркам в преобразуването от една в друго мерна единица. Освен това, диалоговата част, в която приканваш потребителя да въведе нещо, просто я сложи в коментар, изпитната система няма как да разбере това.

 

0
pebodi avatar pebodi 29 Точки

Тук как преобразуваш 1 м в м -

Enter a number:
1
Enter input measurement unit:
m
Enter output measurement unit:
m
0
Press any key to continue . .

0
chimev88 avatar chimev88 11 Точки

Здравей,

Аз лично използвах за това упражнение малко по-лесен вариант, но без да използвам неща, които не сме учили до момента.

http://pastebin.com/9mxJf4Z6

2
VanessaShopping avatar VanessaShopping 48 Точки

Дааа, супер. Това е подобно на мойто , но е доста по съкратено и е доста по-добре :) Мисля ,че това за сега е най-доброто решение.

1
viktor.dechev.1 avatar viktor.dechev.1 11 Точки

 С dictionary  действително в пъти по -просто.. е затова сме тук - да се учим.

0
02/02/2016 15:28:44
Ivaylo76 avatar Ivaylo76 4 Точки

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

Аз пък реших да направя задачата малко по-различно, базирайки е на част от обясненията на Божидар. Не че съдия Джъдж ми я приема де: http://pastebin.com/JrCgRQ5V ;)

0
viktor.dechev.1 avatar viktor.dechev.1 11 Точки

То и аз съм начинаещ, но многo if, бе човек :/ Трудно да си откриеш грешката така. Със switch -case  действах аз.. пак сложно, както се оказа, но далеч по-ясно от това с... Един switch  да обръща всичко зададената стойност  метри и  втори  а даде резултата от първия switch в  каквато единица там се иска. Разделих тез неща в два метода по - лесно да се чете (макар че, не беше нужно май)

 

 

За switch -case : https://msdn.microsoft.com/en-us/library/06tc147t.aspx

Моето решение: http://pastebin.com/nnSScUJJ 

1
06/02/2016 13:57:44
Ivaylo76 avatar Ivaylo76 4 Точки

Благодаря много за примера!!!

Много читав и четим код :)

0
Achity avatar Achity 2 Точки

Това е моето решение на задачата - http://pastebin.com/J1mS82fa

Използвах новостите от съответната лекция. Получи се доста дълъг код и сериозно упражнение за употребата на "switch".

Мисля, че в този тип задачи, ако избора за решение включва if, е хубаво да се използва конструкцията if...else if...else, за да не се правят излишни проверки (както при употрбата само на if).

-1
strikeit avatar strikeit 1 Точки

Найстина уникално и красиво решение, аз бях започнал същото само че бях запецнал на четенето от конзолата на мерните единици и не знаех как да накарам конзолата да проверява Иф дата  е км и т.н пробвах всякакви варианти а проблема бил че когато се пише така трябват "км" да са в кавички и да се ползва == :)   Иначе браво за подредбата, лошото е че джъджа не му харесва и трябваше да я прередя както аз бях почнал да я пиша :)

0
pebodi avatar pebodi 29 Точки

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

Поздравление за колегите, които показват техника, която предстои да бъде изучена.

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

Имаш в чантата си и транспортир и триъгълник, но не може. Трябва примерно да начертаеш две отсечки, които се пресичат под 60 градуса само

с разрешените средства. :)

0
Sticks avatar Sticks 1 Точки

Ами не ,по-скоро идеята е точно обратното ,да се научиш да търсиш и четеш за неща които не си учил и взел до момента ,поне навсякъде по лекциите които съм гледал до момента се казва че това е смисъла на курса - да се научиш да учиш.Защото след като прегледах решенията по-нагоре с по 300 реда код и след това ,решението на колегата което се побира в 15 реда код с помоща на Dictionary което ми е напълно непонятно ... ми сега ще започна да ровя и да чета какво е това чудо Dictionary и как работи ,браво на всички които са успяли със if-else и switch-case ,но определено сега искам да разбера как работи Dictionary :)

1
RedjepMolaahmed avatar RedjepMolaahmed 0 Точки

Пробвай по този начин http://pastebin.com/zraGf2Xm

0
buchacheto avatar buchacheto 1 Точки

Ето и един и от мене :)

http://pastebin.com/NL5iqkM3

0
filipov.v avatar filipov.v 25 Точки

Реших и аз да се пробвам да го направя със switch и се получи това: http://pastebin.com/LKstNf2C . 100/100 в judge.

0
viktorostrov11 avatar viktorostrov11 0 Точки

       if (imu == "m")
        {
            if (omu == "m")
            {
                result = number;
            }
          
        if (imu == "mm")
        {
            if (omu == "mm")
            {
                result = number;
            }
            ...
            if (omu == "cm")
            {
                result = number;
            }

...           

            if (omu == "mi")
            {
                result = number;
            }
           ...
        if (imu == "in")
        {
            if (omu == "in")
            {
                result = number;
            }
           ...
        if (imu == "km")
        {
            if (omu == "km")
            {
                result = number;
            }
           ...
        if (imu == "ft")
        {
            if (omu == "ft")
            {
                result = number;
            }
           
        ///
        /// YARDS
        ///
        if (imu == "yd")
        {
            if (omu == "yd")
            {
                result = number;
            }     

ето, трябва да вмъкнеш това в кода си, тъй като за всяка еденица, трябва да бъде предвидено това, че е напълно възможно да поиска конвертиране към същата еденица(просто judge го прави за теста (пример- от метри в метри))

Надявам се, че ме разбра.  

-1
svilendotorg avatar svilendotorg 2 Точки

Ето и моят начин, по който го направих:

            // INPUT
            double dist = double.Parse(Console.ReadLine());
            string inType = Console.ReadLine();
            string outType = Console.ReadLine();

            // DEFINITIONS
            double a = 0;
            double b = 0;

            if (inType == "m") a = 1;
            if (inType == "mm") a = 1000;
            if (inType == "cm") a = 100;
            if (inType == "mi") a = 0.000621371192;
            if (inType == "in") a = 39.3700787;
            if (inType == "km") a = 0.001;
            if (inType == "ft") a = 3.2808399;
            if (inType == "yd") a = 1.0936133;

            if (outType == "m") b = 1;
            if (outType == "mm") b = 1000;
            if (outType == "cm") b = 100;
            if (outType == "mi") b = 0.000621371192;
            if (outType == "in") b = 39.3700787;
            if (outType == "km") b = 0.001;
            if (outType == "ft") b = 3.2808399;
            if (outType == "yd") b = 1.0936133;

            // OUTPUT
            double result = dist/a*b;
            Console.WriteLine($"{result:F3}");
 

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