Софтуерно Инженерство
Loading...
KirilKrastev avatar KirilKrastev 1 Точки

19. *Ремонт на плочки - Задача

Здравейте, колеги,

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

Задача :

На площадката пред жилищен блок трябва да се поставят плочки. Площадката е с форма на квадрат със страна N метра. Плочките са широки „W“ метра и дълги „L“ метра. На площадката има една пейка с ширина M метра и дължина O метра. Под нея не е нужно да се слагат плочки. Всяка плочка се поставя за 0.2 минути.

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

Пример: площадка с размер 20м. има площ 400кв.м. Пейка широка 1м. и дълга 2м., заема площ 2кв.м. Една плочка е широка 5м. и дълга 4м. има площ = 20кв.м. Площта която трябва да се покрие е 400 – 2 = 398 кв.м. Необходими са 398 / 20 = 19.90 плочки. Необходимото време е 19.90 * 0.2 = 3.98 минути.

Вход

От конзолата се четат 5 числа:

  • N – дължината на страна от площадката в интервала [1...100]
  • W – широчината на една плочка в интервала [0.1...10.00]
  • L – дължината на една плочка в интервала [0.1...10.00]
  • М – широчината на пейката в интервала [0...10]
  • О – дължината на пейката в интервала [0...10]

            //Обща площ = 20 * 20 = 400; площ на пейката = 1 * 2 = 2
            //Площ за покриване = 400 – 2 = 398
            // Площ на плочки = 5 * 4 = 20
            //Необходими плочки = 398 / 20 = 19.9
            //Необходимо време = 19.9 * 0.2 = 3.98
            //Да се отпечата на конзолата две числа: броят плочки необходи за ремонта и времето за поставяне, всяко на нов ред.

class Program
    {
        static void Main(string[] args)
        {
           double i =double.Parse(Console.ReadLine()); // strana ploshtadka
           double a =double.Parse(Console.ReadLine()); //shirina plochki
           double b =double.Parse(Console.ReadLine()); //duljina plochki
           double c =double.Parse(Console.ReadLine()); //shirina peika
           double x =double.Parse(Console.ReadLine()); //duljina peika
            
     
            double ploshtadka = i * i;
            double ploshtpeika = c * x;
            double ploshtzapokrivane = ploshtadka - ploshtpeika;
            double ploshtplochki = a * b;
            double plochki = (ploshtadka / ploshtplochki);
            double vreme = plochki * 0.2;
         
         
            Console.WriteLine("Plochki = {0} ", + plochki);
            Console.WriteLine("Vreme za slagane = {0} ", vreme);
 
          

        }
    }      
           
}          

Моля за пояснения :D

Благодаря!
 

Тагове:
0
Programming Fundamentals
PetarJekov98 avatar PetarJekov98 1 Точки

Console.WriteLine("Plochki = {0} ", + plochki);            <===>           Console.WriteLine("Plochki = {0:f2} ", + plochki);
Console.WriteLine("Vreme za slagane = {0} ", vreme);       <===>   Console.WriteLine("Vreme za slagane = {0:f2} ", vreme);   

 

Трябва само да добавиш :ф2

 

     
 

0
Pavel.belilov avatar Pavel.belilov 0 Точки

Здравейте,

имам проблем с output-а на конзолата, а именно че не печата 0, ако нулата е втората цифра след десетичната запетая (https://imgur.com/a/YwI4F), което кара judge да постави ниска оценка, въпреки че изчисленията и кода са привидно правилни (https://pastebin.com/uXJ0quw2).

Проверих и регионалните настройки на компютъра си, но не виждам проблем там. Те изглеждат ето така (https://imgur.com/2Ko25aH).

Как мога да накарам конзолата да печата и въпросната 0?

Благодаря за помощта :)

 

0