Loading...
jessi23 avatar jessi23 1 Точки

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

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

 

Напишете програма която да пресмята колко километра изминава кола, за която знаем първоначалната скорост (км/ч), времето в минути след което увеличава скоростта с 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 200 Точки
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 1 Точки

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

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

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