Loading...
Leprikona avatar Leprikona 108 Точки

Задача Game of Names от Programming for Beginners 24 April 2016

Здравейте стигнах до тук със задачата. Как мога да намеря резултата на всеки един от тях и да му изпиша името?

Благодаря! :)

using System;

class Program
{
    static void Main()
    {
        int input = int.Parse(Console.ReadLine());
        for (int i = 0; i < input; i++)
        {
            string name = Console.ReadLine();
            int number = int.Parse(Console.ReadLine());
            foreach (char c in name)

                if (c % 2 == 0)
                {
                    number += c;
                }
                else
                {
                    number -= c;
                }
            Console.WriteLine(number);
        }
    }
}

Тагове:
0
Programming Basics
IskrenPenev avatar IskrenPenev 177 Точки

преди да започнеш да въртиш цикъла си направи една променлива long maxPoints  = long.MinValue; и един празен string winner = "";

когато приключи вътрешният ти цикъл (foreach-a) проверяваш дали number е по-голямо от maxPoints  - ако е  maxPoints = number   и winner = name.

когато прочетеш дадените n - реда, принтираш winner  и maxPoints 

(може да се реши и с масив/списък, но в случая е излишно да съхраняваш всички данни)

P.S ползвай long, че може да не се събереш в int 

0
04/05/2016 22:47:54
ihristov22 avatar ihristov22 28 Точки

Здравейте колеги.

Решавам въпросната задача опитвайки се посредством използването на масив. Имам затруднение. Може ли някой да ми обясни, къде ми е грешката и защо на един от редовете при парсване на InitialScores ми излиза Exeption input string not in the correct format.

Благодаря.

https://github.com/ihrist/SoftwareUniversity-ProgrammingFundamentals-Homeworks/blob/master/GameOfNames/Program.cs

0
Alex0101 avatar Alex0101 374 Точки

Здравей колега, пусни моля те линк към условието и джъджа, за да не ровим 10 мин

2
IskrenPenev avatar IskrenPenev 177 Точки

1. Не използваш масива който заявяваш в началото (макар че той е излишен).

2. Щом в началото си решил да ползваш long, ползвай само long, махни тези int-ве.

3. Недей да сравняваш сумата със >=, а само с по-голямо.

4. Никъде не ползваш променливите winner и maxPoints, нито променяш тяхната стойност - от началото до края winner е празен стринг, а maxPoints е long.MinValue

5. Както си написал решението си, когато намериш сума по-голяма на максималните точки(long.MinValue) ти печаташ, а трябва да печаташ само накрая, когато си преминал през целия цикъл. (В момента приложението ти след всеки прочетен ред ще отпечатва съответния играч и точките му като "победител")

П.П Приложението ти не дава никаква грешка (Exception), явно му подаваш невалиден вход, Изхода е както написах по-горе.

 

2
26/05/2016 11:29:58
ihristov22 avatar ihristov22 28 Точки

https://judge.softuni.bg/Contests/177/Practical-Exam-24-April-2016 <- Link Game of Names

0
mrfreeman avatar mrfreeman 11 Точки

Благодаря, използвах само int и получих 80/100. Минах на long и стана 100/100! :)

От къде да предположа, че ще могат да се паднат толкова големи числа! По условие "The score for each player will be a integer in the range [-100,000...100,000]"

0
Spoon avatar Spoon 3 Точки

Здравейте, колеги. За да не пускам нова тема за същата задача, реших да пиша тук. Може ли някой да удари едно рамо, туко виж ми дошъл акъла.
Кода на решението ми е тук: http://pastebin.com/zvPhKL3d

Получавам само 10 точки от джъджа, а като си го тествам локално ми връща правилен резултат. Направих и семпла валидация, но и това не даде повече точки.

Благодаря предварително !
 

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