[C# Fundamentals] 03. Immune System - Софтуерен университет

+ Нов въпрос
icowwww avatar icowwww 404 Точки
Best Answer

Здравей. За да можеш да запазиш адекватно името на вируса и секудите му ти трябва речник. Заедно с това ако един път вируса съществува не е нужно да го добавяш пак защото програмата ти при трета среща с вируса ще раздели не на 3 а на 9.

https://pastebin.com/YPsqFXyx

Това което съм променил е оградено от празни пространства. Заменил съм цикъла и проверката вътре с проверка

!foughtVirusesDict.ContainsKey(string.Join("", virus)

0
19/06/2017 19:32:11
radybt avatar radybt 3 Точки

Хммм... интересно, не знаех, че мога със стринг.джойн да ги пъхам буква по буква в речник и че ще се съединят. за това търсех алтернативи. Благодаря! 

0
icowwww avatar icowwww 404 Точки

Речника очаква ключа да е стринг, стринг.джойн точно това връща. Въпреки че би изглеждало по-добре да не сплитваш веднага като прочиташ, а да си направиш отделна променлива. Когато е подредено се полуават по- малко грешки пък и тоя стринг.джойн на хиляда места ще бъде спестен

var virus = Console.ReadLine();

var virusArray =virus.ToList();

foughtVirusesDict[virus] = virusTimeToDefeatSeconds; примерно

0
19/06/2017 20:35:05
DimoYordanov avatar DimoYordanov 2 Точки

ето линк към моя код, дано ти помогне:

https://pastebin.com/L0GxCgBv

 

1
atrusinov avatar atrusinov 1 Точки

На мен пък ми дава 80/100 и нямам идея защо.. https://pastebin.com/d3Q5Gvaq. Имате ли идея защо?

0