Loading...
NikolayLiubomirov avatar NikolayLiubomirov 82 Точки

[Programming Fundamentals] 3. Water Overflow

Случи ми се нещо много странно, докато решавах 3. Water Overflow (линк към Judge).

Събирах две short променливи в друг short, когато получих компилационна грешка.

Ето "некомпилиращият" се код:

short n = short.Parse(Console.ReadLine());

short capacity = 255;
short capacityLeft = capacity;

for (short i = 0; i < n; i++)
{
    short litersToPour = short.Parse(Console.ReadLine());

    if (capacityLeft - litersToPour >= 0)
    {
        capacityLeft -= litersToPour;
    }
    else
    {
        Console.WriteLine("Insufficient capacity!");
    }
}

short filled = capacity - capacityLeft;
Console.WriteLine(filled);

Реда, който гърми е:

short filled = capacity - capacityLeft;

Грешката, която ми дава е, че пропускам cast от int към short, при положение, че и двете променливи, които събирам са от тип short

Разбира се, никакъв проблем да сложа един cast:

short filled = (short)(capacity - capacityLeft);

Но първо искам да разбера, защо се получава това недоразумение за мен. Възможно е аз да пропускам нещо простичко, но благодаря предварително за помощта smiley 

Тагове:
0
Programming Fundamentals 05/06/2017 21:11:49
NikolayLiubomirov avatar NikolayLiubomirov 82 Точки

Ще се радвам следващият път, когато дадете downvote no, да го подкрепите с аргументация! Смятам, че темата е полезна и беше добре да се разясни този случай.

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