Подготовка за изпит: 6 задача "Коледна украса" - помощ
може ли някои да обясни как е решил задачата
може ли някои да обясни как е решил задачата
Здравей,
Можеш да видиш подробно обяснена задачата в самия код (C#) по-долу:
{
//Input - четем два входа:
int budget = int.Parse(Console.ReadLine()); //бюджета на семейство Иванови
string command = Console.ReadLine(); // първият предмет от украсата
//Logic:
int currentItemASCISum = 0; // създаваме променлива, която ще пази АСКИ стойността на предметите от украсата, която първоначално е = 0
while (command != "Stop") // създаваме цикъл, при който докато получим команда стоп четем нови предмети за украса
{
for (int i = 0; i < command.Length; i++) // създаваме втори цикъл в който четем дължината на предмета, или колко на брой символи/букви има в думата, този цикъл минава през всички символи, букви за да можем да сумираме стойноста или цената която ще струва
{
int currentItemASCI = command[i]; // тук преобразуваме съответната буква в аски стойността й, т.е. от 'а' става 97
currentItemASCISum += currentItemASCI; // тук натрупваме стойността от всички символи/букви
}
if (currentItemASCISum <= budget) // тук проверяваме дали имаме достатъчно бюдбет да купим този предмет
{
Console.WriteLine("Item successfully purchased!"); // щом имаме, отпечатваме покупката на всеки предмет
budget -= currentItemASCISum; // и след това вадим сумата на този предмет от целия бюджет, и така при всяко завъртане за всеки нов предмет докато не свърши бюджетът
}
else if (currentItemASCISum > budget) // тук казваме че ако бюджетът не ни стига, вече е свършил или е не достига
{
Console.WriteLine("Not enough money!"); // отпечатваме че няма пари
return; // и приключваме с програмата
}
currentItemASCISum = 0; // тук нулираме аски стойността от всеки предмет, за да може отново да започне от 0 за всеки следващ.
command = Console.ReadLine(); // тук четем следващия предмет от украсата и така докато не свърши бюджетът
}
Console.WriteLine($"Money left: {budget}"); // ако сме подали команда "Stop" преди да свърши бюджетът, сме излезнали от цикъла и отпечатваме колко пари остават.