Loading...
krum_43 avatar krum_43 756 Точки

Проблем при една задача от Тех-модула-Hends of Cards

При решаването на тази задача(тя е решена подробно в едно от видиата от Атанас Атанасов) написах код ,който според мен работи.

Минавам единствения тест след задачата,но системата ми дава 33/100.

Каква може да е причината ?

Ето и кода :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Hands_of_Cards
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<string, List<string>> players = new Dictionary<string, List<string>>();
            Dictionary<string, int> Power = new Dictionary<string, int>();            
            while (true)
            {
                string line = Console.ReadLine();
                if (line == "JOKER")
                {
                    break;
                }
                string[] tokens = line.Split(':');
                string playersname = tokens[0];
                string[] cards = tokens[1].Trim().Split(',');
                if (players.ContainsKey(playersname) == false)
                {
                    players.Add(playersname, new List<string>());
                }
                players[playersname].AddRange(cards);
            }
            for (int i = 2; i <= 9; i++)
            {
                Power.Add(i.ToString(), i);
            }
            Power.Add("1", 10);
            Power.Add("J", 11);
            Power.Add("Q", 12);
            Power.Add("K", 13);
            Power.Add("A", 14);
            Power.Add("S", 4);
            Power.Add("H", 3);
            Power.Add("D", 2);
            Power.Add("C", 1);
            foreach (var playar in players)
            {
                List<string> cards = playar.Value.Distinct().ToList();
                int sum = 0;
                foreach (string card in cards)
                {
                    string Powercards = card[0].ToString();

                    string Powertype = card[card.Length - 1].ToString();
                    int Powercards1 = Power[Powercards];
                    int Powertype1 = Power[Powertype];
                    int total = Powercards1 * Powertype1;
                    sum+=total;
                }
                Console.WriteLine($"{playar.Key}: {sum}");
            }
        }
    }
}

Тагове:
0
Module: C# Advanced
trepacha123 avatar trepacha123 47 Точки
Best Answer

Здравейте, забелязах доста грешки, които можете да отстраните с малко упражнения. Предоставям ви код, по който можете да разберете вашата грешка и да получите 100/100. https://pastebin.com/Ysz7DJ17

0
krum_43 avatar krum_43 756 Точки

С твоя код минвам 100/100 ,но не мога да си намеря грешките.

Компилатора ми казва,че не мога да имам ключ Powertype.

Tова е променлива,която ни врьща последният символ от двойката карти,

a тези символи са добавени в речника Power.

0
delian1914 avatar delian1914 99 Точки

Привет. Една от уловките в задачата е, че името на играча може да е от два стринга с интервал между тях.

Поздрави!

0
krum_43 avatar krum_43 756 Точки

Името на играча е от един стринг-{personName}.

Това е дадено по условие.

Поздрави!

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