Loading...
Arthanes avatar Arthanes 5 Точки

05.Courses

Здравейте , 

имам проблем с 5та(courses) задача от Associative Arrays.

В Judge ми дава грешка при Принтирането на Dictionary Key.

В задачата трябва да принтираме като Key вида на курса и колко курсисти има по следният начин "C# Fundamentals: 1". В Judge ми дава греша при ":" показвами , че ми се принтира по този начин "C# Fundamentals : 1" въпреки ,че в кода е както се изисква в задачата  и получавам 0/100 . Не разбирам защо Judge не приема решението . 

using System;
using System.Linq;
using System.Collections.Generic;
namespace _05._Courses
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<string, List<string>> courses = new Dictionary<string, List<string>>();
            Dictionary<string, int> counts = new Dictionary<string, int>();
            while (true)
            {
                string[] input = Console.ReadLine().Split(':',StringSplitOptions.RemoveEmptyEntries).ToArray();
                var course = input[0];

                if (course == "end")
                {
                    break;
                }
                var name = input[1];

                if (!courses.ContainsKey(course))
                {
                    courses.Add(course, new List<string>());
                                        
                }
                
                courses[course].Add(name);

               
                
            }
            PrintCoursesInfo(courses);
            
        }

        private static void PrintCoursesInfo(Dictionary<string, List<string>> courses)
        {
            foreach(var course in courses)
            {
                string  courseName = course.Key;
                var students = course.Value;
                Console.WriteLine($"{courseName}: {students.Count}");
                foreach(var student in students)
                {
                    Console.WriteLine($"--{student}");
                }

            }
        }
    }
}

Тагове:
1
Fundamentals Module
MartinBG avatar MartinBG 4803 Точки
Best Answer

Входните данни са в този формат: "{courseName} : {studentName}", например: "Programming Fundamentals : John Smith".

Забележете, че има по eдин space преди и след двуеточието.

"Programming Fundamentals : John Smith".Split(':',StringSplitOptions.RemoveEmptyEntries).ToArray(); ще върне масив със следните елементи:

["Programming Fundamentals ", " John Smith"]

Забележете, че след курса и преди името има space - той е и причината, изхода в Judge да не минава.

Има много начини за решаване на проблема, но най-простият е да използвате метода Trim() върху стринга - така ще премахнете всички празни символи в началото и края му:

var course = input[0].Trim();

 

1
Arthanes avatar Arthanes 5 Точки

Много благодаря!

1
victorbrowning avatar victorbrowning 2 Точки

Благодаря ти много! Помогна ми да надстроя bloxd io и много работни места

1
olivamogar avatar olivamogar 1 Точки

Some of the most popular short term courses in Canada include software engineering, marketing, computer networking, field analytics, architecture, language, business administration, communication, real estate, dinosaur game,  accounting, civil engineering, and more.

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