Софтуерно Инженерство
Loading...
DanielTonchev avatar DanielTonchev 0 Точки

Progr. Fundamentals - Dictionaries, Lambda and LINQ - Exercises, EX 03. A Miner Task

Колеги моля за помощ със задачата. код -        https://pastebin.com/sviCxHeJ        - Грешка при тест №3
Дава ми 75/100 и не мога да разбера къде греша...предварително съжелявам за твърде усложнения код, 

Тагове:
0
Technology Fundamentals 03/11/2017 17:47:34
k.sevov avatar k.sevov 947 Точки

Махнах сплитването по интервал и се оправи, предполагам в теста има някакъв ресурс с име, съдържащо интервал. За тази задача не е необходимо да сплитваме въобще, директно си ползвай стринга от Console.ReadLine(). Също можеш да погледнеш един по-кратък вариант за решение.

0
Veni.inov avatar Veni.inov 2 Точки

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

List<string> inputAsString = new List<string>();
            List<decimal> inputAsDigits = new List<decimal>();
            Dictionary<string, decimal> all = new Dictionary<string, decimal>();
            long index = 0;
            string command = Console.ReadLine();
            while (command != "stop")
            {
                if (index % 2 == 0)
                {
                    inputAsString.Add(command);
                }
                else
                {
                    inputAsDigits.Add(decimal.Parse(command));
                }
                command = Console.ReadLine();
                index++;
            }
            for (int i = 0; i < inputAsString.Count - 1; i++)
            {
                for (int j = i + 1; j < inputAsString.Count; j++)
                {
                    if (inputAsString[i] == inputAsString[j])
                    {
                        inputAsDigits[i] = inputAsDigits[i] + inputAsDigits[j];
                        inputAsString.RemoveAt(j);
                        inputAsDigits.RemoveAt(j);
                    }
                }
            }
            for (int i = 0; i < inputAsString.Count; i++)
            {
                all[inputAsString[i]] = inputAsDigits[i];
            }

 

0
Veni.inov avatar Veni.inov 2 Точки

Извинявам се, пропуснах да копирам последнот парче от кода си, с което принтирам резултата:

           foreach (KeyValuePair<string, decimal> item in all)
            {
                Console.WriteLine($"{item.Key} -> {item.Value}");
            }

 

Тъй като не мога да видя входните данни на 1 тест, не ми е ясно в какво бъркам - пробвах с различни типове променливи, но не е в това явно проблема. 

0