Професионална програма
Loading...
+ Нов въпрос
Radul avatar Radul 5 Точки

7. Student Academy

Write a program, which keeps information about students and their grades.
You will receive n pair of rows. First you will receive the student's name, after that you will receive his grade. Check
if student already exists, and if not, add him. Keep track of all grades for each student.
When you finish reading data, keep students with average grade higher or equal to 4.50. Order filtered students by
average grade in descending.
Print the students and their average grade in format:
{name} –> {averageGrade}
Format the average grade to the 2 nd decimal place.
Examples
Input Output Input Output
5
John
5.5
John
4.5
Alice
6

John -> 5.00
George -> 5.00
Alice -> 4.50
5
Amanda
3.5
Amanda
4
Rob
5.5

Robert -> 6.00
Rob -> 5.50
Christian -> 5.00

Page 1 of 9 Follow us:
© Software University Foundation. This work is licensed under the CC-BY-NC-SA license.

Alice
3
George
5

Christian
5
Robert
6

https://pastebin.com/zZSsnwKk - джъджа ми дава само 12 точки: мисля, че е бавен алгоритъма. Ако може малко помощ.

0
Programming Fundamentals
TeodorStefanovPld avatar TeodorStefanovPld 1278 Точки

Decimal закръгля по различен начин от double. Я прoбвай с double. Кода ти е ок малко е странен и филтриронето на данните е странно но като цяло изглежда ок..

0
Allieaim avatar Allieaim 1 Точки

That was great, I wonder what issues the professors would have had with it? Student films get way weirder than this, this was at least entertaining and watchable

https://24hwritemyessay.com/

0
kristiyanb avatar kristiyanb 19 Точки

Проблема е, че сортираш речника по ключ. Смени сортировката и трябва да мине 100/100.

Също може да имаш проблем с decimal и double. Трябва да знаеш какво очаква джъдж, защото имат различна прецизност и ако тестовете очакват резултата, който се получава с double, а ти ползваш decimal, може да гърмят, въпреки че логиката ти е правилна. В повечето задачи се очаква да ползваш double, освен ако специално не ти кажат, че се иска по-голяма прецизност (в повечето случаи, които съм виждал, е смятане на пари).

За скоростта на алгоритъма - имаш различни видове грешки (runtime, time limit, memory limit, грешен отговор), по които можеш да се ориентираш къде бъркаш. Няма как да гърмиш за грешен отговор и проблема да е от скоростта на алгоритъма.

0
18/02/2019 14:54:39
krasizorbov avatar krasizorbov 376 Точки

Здравей,

Мисля че тябва да създадеш лист от речника и след това ламбда експресия и ще работи на 100

сложи този код накрая:

var list = ListGrades.OrderByDescending(x => x.Value.Average());
            foreach (var item in list)
            {

                if (item.Value.Average() >= 4.5)
                {
                    Console.WriteLine("{0} -> {1:f2}", item.Key, item.Value.OrderByDescending(x => x).Average());
                }
            }

0
krasizorbov avatar krasizorbov 376 Точки

и може би е по - добре да ползваш double!

0
svetlyoek avatar svetlyoek 20 Точки

Здравейте.Понеже не доразбирам, защо два пъти(и в цикъла и при принта долу) ги OrderByDescending(x => x).Average()?

0
ChallengerBBS avatar ChallengerBBS 16 Точки

Колега, ето ти направо моя код, сравни си пропуските :) 
https://pastebin.com/AQ5ECjD2

1
walter821 avatar walter821 2 Точки

Hello, I check your blogs regularly. Your humoristic style is awesome, keep it up! super smash flash 2

0