Помощ със задача - Metric Converter
Здравейте!Като цяло не съм студент в софтуни, защото все още съм ученик и не знам дали имам право да участвам във форумите.Наскоро почнах да се упражнявам и да решавам задачите от лекциите.Става въпрос за задачата Metric converter/Конвертор за мерни единици от лецкията "Логически проверки" - Programming Basics.Успях да я реша горе долу, но не ми дава пълен брой точки в judge-a и бих се радвал, ако ми обясните защо Това е кодът ми:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace METRIC_CONVERTER
{
class Program
{
static void Main(string[] args)
{
double numbersToConvert = double.Parse(Console.ReadLine());
string firstNumber = Console.ReadLine();
string secondNumber = Console.ReadLine();
var currencies = new Dictionary<string, double>()
{
{"mm", 1000 },
{"cm", 100 },
{"mi", 0.000621371192},
{"in", 39.3700787},
{"km", 0.001},
{"ft", 3.2808399},
{"yd", 1.0936133}
};
double result = numbersToConvert / currencies[firstNumber] * currencies[secondNumber];
Console.WriteLine("{0} {1}",result,secondNumber);
}
}
}
Този метод е просто доста бавен или някъде имам грешка в задачата?
Ето и моето решение доста е дълго, но съм много доволна. Размърдах си мозъка и измислих логиката само с това което сме взели.
https://pastebin.com/LghUsDC0
надявам се така да се прави и да може да се види :)
Така също става, но отнема страшно много време. Затова switch/case е по-добрият вариянт. Пробвай се да я решиш с него и ще видиш разликата във времето и усилията. Поздрави! (:
Благодаря :) Да предполагам има доста по кратки варианти, но гледам лекцийте on-line и съм само до Условни конструкции затова и я реших сама и с това което знам :) Отне ми време и 6 грешни решения :D но се чувствам удовлетворена :)
омг честно ли за всеки възможен вариант си писала отделни изходи това се решава с 2 if конструкции едно пресмятане...Ужас 300 реда дори не искам да си мисля как се е дебъгвало това..това е самоубийство което си направила.