Професионална програма
Loading...
Nerron avatar Nerron 0 Точки

09. *Билети за кино- Time limit

Здравейте, имам  някакъв проблем със задажа номер 9 от лекцията за вложени цикли в събота.
Ето го условието:
 

Вашата задача е да напишете програма, която да изчислява процента на билетите за всеки тип от продадените билети: студентски(student), стандартен(standard) и детски(kid), за всички прожекции. Трябва да изчислите и колко процента от залата е запълнена за всяка една прожекция.

Вход

Входът е поредица от цели числа и текст:

    На първия ред до получаване на командата "Finish" - име на филма – текст

    На втори ред – свободните места в салона за всяка прожекция – цяло число [1 … 100]

    За всеки филм, се чете по един ред до изчерпване на свободните места в залата или до получаване на командата "End":

    Типа на закупения билет - текст ("student", "standard", "kid")

Изход

На конзолата трябва да се печатат следните редове:

    След всеки филм да се отпечата, колко процента от кино залата е пълна

"{името на филма} - {процент запълненост на залата}% full."

    При получаване на командата "Finish" да се отпечатат четири реда:

    "Total tickets: {общият брой закупени билети за всички филми}"

    "{процент на студентските билети}% student tickets."

    "{процент на стандартните билети}% standard tickets."

    "{процент на детските билети}% kids tickets."

А ето го и моето решение:
https://pastebin.com/59CKx80m

Пробвах и 2та теста, и резултатите ми съвпадат на 100%, но когато кача кода в Judge ми дава time out и грешни отговори.

Edit: Оправих проблема с безкрайния цикъл, но пак ми вади 0/100

0
Programming Basics 20/11/2019 23:48:01
svephoto avatar svephoto 526 Точки

Здравей,

 

Нямаш нужда от for-цикъла, който завърташ, защото няма по какво да го въртиш - например число, което се въвежда преди цикъла и по което въртиш итерации. В началото само веднъж се прочита заглавието на първия филм като стринг и после имаш 2 while-цикъла: външният докато "movieTitle != "Finish"", а вътрешният докато "ticketType != "End" && seats > ticketCounter".

Тук https://pastebin.com/0KcqMcDz можеш да видиш рефакториран (редактиран и преструктуриран) вариант на твоя код, който минава със 100/100, но ще трябва сам да го разгледаш и да го сравниш с твоя първоначален вариант, и да видиш къде са разликите.

 

Успех!

0
24/11/2019 23:24:19