Въпрос Задача "Разстояние"

Въпрос Задача "Разстояние"

jessi23 avatar jessi23 0 Точки

Въпрос Задача "Разстояние"

Здравейте, имам проблем с една от задачите, падали се на предишни изпити. Условието е следното:

 

Напишете програма която да пресмята колко километра изминава кола, за която знаем първоначалната скорост (км/ч), времето в минути след което увеличава скоростта с 10%, второ време след което намалява скоростта с 5% и времето до края на пътуването. За да намерите разстоянието трябва да превърнете минутите в часове ( 70 мин = 1.1666 часа).

 

Вход От конзолата се четат 4 реда: Ред 1. Първоначалната скорост в км/ч– цяло число в интервала [1 ... 300]

Ред 2. Първото време в минути – цяло число в интервала [1...1000]

Ред 3. Второто време в минути – цяло число в интервала [1...1000]

Ред 4. Третото време в минути – цяло число в интервала [1...1000]

 

Изход Да се отпечата на конзолата едно число: изминатите километри. Форматирано до вторият знак след десетичната запетая.

 

Задачата може да тествате тук: https://judge.softuni.bg/Contests/Practice/Index/368#0

Това е моя код :https://pastebin.com/DT6bYnzi

Излизат ми съвсем различни резултати от очакваното, но не мога да видя къде съм сбъркала. 

 

Тагове:
0
Programming Basics with C# 25/01/2018 10:53:48
Thedi avatar Thedi 195 Точки
Best Answer

Здравей,

Проблемът тук ти е, че делиш цели числа. В случая firstTime, secondTime, thirdTime ги взимаш като интове и после ги делиш отново на интове.

double firstDistans = firstSpeed * (firstTime / 60);

Предполагам си запозната, че като правиме целочислено деление винаги числото което ще получим е цяло число. За да избегнем това или трябва да вземеш променливите като double или да сложиш .0 на 60 и да стане "60,0". Тогава едното число ще е double и така цялото деление ще връща дробно число.

double firstDistans = firstSpeed * (firstTime / 60.0);

Ако промениш това при всичките ти деления ще ти мине 100/100.

Поздрави

0
25/01/2018 10:54:37
jessi23 avatar jessi23 0 Точки

Ох, въобще не се сетих че от там е проблема.  :D

Направих го с 60.0 и стана. Благодаря за помощта. :)

0