Задача 02 Pipes In Pool
Здравейте,
някой може ли да ми каже къде бъркам. Написах си програмата, тествх я с примерните входове и всичко е ОК, но като я сложа в judge ми дава 100% грешка.
Ето и кода:
https://pastebin.com/QEQAJicK
Благодаря :)
Здравейте,
някой може ли да ми каже къде бъркам. Написах си програмата, тествх я с примерните входове и всичко е ОК, но като я сложа в judge ми дава 100% грешка.
Ето и кода:
https://pastebin.com/QEQAJicK
Благодаря :)
Здравей,
В judge, там където виждаш всичките червени хххх, в дясно има бутон "Детайли". Натисни го и ще видиш какво очаква да види judge на изхода, както и какво всъщност се вижда. Има и бутон "Покажи входа".
Не знам условието на задачата, но Judge очаква:
66
1
45
2
54
а казва, че вижда:
66
45
54
Да не би условието да иска да се принтира 1 и 2, вместо Pipe1 и Pipe2?
Аз не виждам "Pipe" в изхода на judge, което наистина е странно. Пробвай все пак с 1 и 2, ако изобщо тестваш тук.
Намерих и грешка: liters1, трябва да е: (Pipe1+Pipe2)*HP - volume
Докарах 93% с няколко цели числа. Прегледай условието и виж какво трябва да се закръгля за да стане 100%. Код
Здравей и благодаря за съдействието.
Видях корекциите които си наравил, незнам защо при вход int и входове в примера за тест int съм вкарал тоя double, ама ще се науча.
Искам да те попитам в този пример защо след = се слага пак int в скоби?
int volumeP = (int)((liters / volume) * 100);
Ето и условието на задачата:
Басейн с обем V има две тръби, от които се пълни. Всяка тръба има определен дебит
(литрите вода, минаващи през една тръба за един час). Работникът пуска тръбите
едновременно и излиза за N часа. Напишете програма, която изкарва състоянието на басейна,
в момента, когато работникът се върне.
Входни данни
От конзолата се четат четири реда:
Първият ред съдържа числото V – обем на басейна в литри – цяло число в интервала [1
… 10000].
Вторият ред съдържа числото P1 – дебит на първата тръба за час – цяло число в
интервала [1 … 5000].
Третият ред съдържа числото P2 – дебит на втората тръба за час – цяло число в
интервала [1 … 5000].
Четвъртият ред съдържа числото H – часовете, в които работникът отсъства – число с
плаваща запетая в интервала [1.0 … 24.00].
Изходни данни
Да се отпечата на конзолата едно от двете възможни състояния:
До колко се е запълнил басейна и коя тръба с колко процента е допринесла. На всички
проценти да се вземе само цялата част (т.е. да се направи закръгляне надолу).
"The pool is [x]% full. Pipe 1: [y]%. Pipe 2: [z]%."
Aко басейнът се е препълнил – с колко литра е прелял за даденото време, число с плаваща
запетая.
"For [x] hours the pool overflows with [y] liters." * Имайте предвид, че поради вземането
3.2. Прости проверки – изпитни задачи
140
на цялата част на дробно число се губят данни и e нормално сборът на процентите
да е 99%, а не 100%.
Ето и примерните входове:
1000
100
120
3
изход
The pool is 66% full. Pipe 1: 45%.
Pipe2: 54%.
вход
100
100
100
2.5
изход
For 2.5 hours the pool overflows with
400 liters.
Здравей,
слагайки в скоби този int, изрично указва, че това което е след (int) е от тип int. Нарича се Cast и честно казано говори за не добър стил на писане :)
Пробвай различни комбинации от cast. (int) 5.6353, (string)5.6353 и т.н. Всичко можем да кастваме към всичко, само че разбира се след като компилатора започне да гледа на тази променлива като на променлива от тип, който тя не е... най-вероятно програмата ще спре с грешка.
https://stackoverflow.com/questions/2143476/how-to-cast-a-double-to-an-int-in-java-by-rounding-it-down
https://howtoprogramwithjava.com/java-cast/
Благодаря за инфото. Уча сам от 20 дни и никога не съм се занимавал с програмиране, сега ще прочета за кастването и ще се науча да го ползвам.