Loading...
Lusien.GG avatar Lusien.GG 66 Точки

Practice - TrainingLab

Здравейте колеги,
аз съм онлайн форма и няма кого да питам за такива дребни неща, решавах си аз задачите от предишни курсове и на тази задача не разбирам защо JUDGE системата не ми я приема ето погледнете:

С този код:
 static void Main(string[] args)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TrainingLab
{
    class Program
    {
        static void Main(string[] args)
        {
            var height = double.Parse(Console.ReadLine()) * 100;
            var width = double.Parse(Console.ReadLine()) * 100;
            var rows = Math.Floor((height-100)/120);
            var DeskByRow = Math.Floor(width /70);
            var alldesks = (rows * DeskByRow)-3;
            Console.WriteLine(alldesks);
        }
    }
}

И ми дава 12/100, не разбирам защо, при положение, че като я тествам с примерния инпут всичко е наред. Гледах в клиповете има как да я реша - същото решение, а на мен не ми дава точките 1 час загубих от живота си за толкова елементарно нещо за това пиша тук.

Тагове:
0
Programming Basics
petar.dimitrov.86 avatar petar.dimitrov.86 450 Точки
Best Answer

   var height = double.Parse(Console.ReadLine()) * 100;
  var width = double.Parse(Console.ReadLine()) * 100;

Тези два реда, трябва да ги размениш, първо се вкарва width, а после height от конзолата. И след това rows се делят 70, а deskByRow на 120.

0
Berchev avatar Berchev 56 Точки

Имаш проблем в сметките. Прочети пак насоките в задачата и си прегледай сметките. 

Ето ти моето решение което е 100/100 за да свериш. 

http://pastebin.com/VaCQ9ji0

1
30/03/2016 20:59:19
Nikola_Andreev avatar Nikola_Andreev 671 Точки

Пробва ли с Math.Round вместо Math.Floor? Би трябвало там да ти е грешката.

0
30/03/2016 21:03:13
Thenis avatar Thenis 219 Точки

Ако използва Math.Round ще му даде грешка на Judge-а. Ако числото е например 123.50 ще го закръгли до 124, а в задачата не се изисква това. Не трябва числото да се закръглява нагоре.

2
Nikola_Andreev avatar Nikola_Andreev 671 Точки

Да, подведох се понеже минава на нулевите тестове. Сега като погледнах в Judje и аз съм използвал Math.Floor.

0
Lyubozar avatar Lyubozar 47 Точки

 Ето така трчбва да са ти row и deskByRow:

 var rows = Math.Floor((width-100)/70);
 var DeskByRow = Math.Floor(height /120);

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

1
30/03/2016 21:09:01
Lusien.GG avatar Lusien.GG 66 Точки

Благодаря ви, колко е натоварващо понякога да откриеш нещо толкова елементарно и аз ги трия тези 5 реда и ги пиша на ново и пак ги бъркам laugh Не знам защо така се получи.

0
H.Stoyanov avatar H.Stoyanov 115 Точки

Колега един практически съвет - неработещ код не се изтрива, а се коментира докато не се оправи бъга, понеже някой път неработещото помага да открием проблема докато пишем новия код.

1
Lusien.GG avatar Lusien.GG 66 Точки

Напълно съм съгласен, но в нещо толкова елементарно, като го гледам и мисля по него не виждам логическата грешка, за това прецених тогава, че по-добре да изградя логиката от начало. И я правех 5 пъти по същия начин - грешна. 

0
H.Stoyanov avatar H.Stoyanov 115 Точки

В такъв случай трябва да ползваш дебъгера, аз лично слагам един брейкпоинт след като ми прочете входните данни и следя стъпка по стъпка къде какво прави. Освен това колкото и тривиално да звучи е добре да си решиш задачката на лист, т. е. да опишеш алгоритъма и да го извъртиш един път с дадените примерни числа от задачата, за да видиш кое къде може да направи проблем.

1
KaloyanGanchev avatar KaloyanGanchev 17 Точки

Ето едно подобно решение с Math.Floor, което работи.

http://pastebin.com/p45A0pz5

Ако ти е от полза.

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