Loading...
SvilenPavlov avatar SvilenPavlov 11 Точки

Sets and Dictionaries Advanced LAB - 2. Average Student Grades

Здравейте!

Получавам само 20/100 с кода тук:https://pastebin.com/EUe5t9bV

 

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

.OrderByDescending(x => x.Value.Average()) в сортировката на принтирането ми дава 10/100 с 3/3 верни нулеви тестове. А без тази сортировка, дава 20/100 с 2/3 верни нулеви тестове.
Много бих бил благодарен на лекторите, все пак да пускат решенията си в джъджа, защото понякога с тяхното решение не дава 100/100, да не говорим за решениеята в презентациите, които са написани на 2 на 3, и често некоретна стилизация на кода (примерно на if statement отдолу тялото е написано като 1 ред вместо с къдрави скоби).

Тагове:
0
Module: C# Advanced 11/12/2018 11:35:34
koknq avatar koknq 24 Точки

using System;
using System.Linq;
using System.Collections.Generic;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            Dictionary<string, List<decimal>> dictionary = new Dictionary<string, List<decimal>>();

            for (int i = 0; i < n; i++)
            {
                string line = Console.ReadLine();
                string[] lineParts = line.Split(' ', StringSplitOptions.RemoveEmptyEntries);

                if (!dictionary.ContainsKey(lineParts[0]))
                {

                    dictionary[lineParts[0]] = new List<decimal>();
                    dictionary[lineParts[0]].Add(decimal.Parse(lineParts[1]));
                }
                else
                {


                    dictionary[lineParts[0]].Add(decimal.Parse(lineParts[1]));
                }


            }
            foreach (var kvp in dictionary)
            {
                Console.WriteLine($"{kvp.Key} -> {string.Join(' ', kvp.Value.Select(x => $"{x:f2}"))} " +
                    $"(avg: {kvp.Value.Average():f2})");
            }
        }
    }
}

 

Освен средната оценка, трябва и всяка една оценка от kvp.Value да се закръгли до второто число след запетаята.

Тоест това "{string.Join(' ', kvp.Value.Select(x => $"{x:f2}"))}"

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