Професионална програма
Loading...
+ Нов въпрос
iMPr3S1vEEE avatar iMPr3S1vEEE 0 Точки

Задача: Аквариум

Здравейте, ще може ли някой да ми помогне с тази задача?

Ето условието: 

За рождения си ден Любомир получил аквариум с формата на паралелепипед. Първоначално прочитаме от конзолата на отделни редове размерите му – дължина, широчина и височина в сантиметри. Трябва да се пресметне колко литра вода ще събира аквариума, ако се знае, че определен процент от вместимостта му е заета от пясък, растения, нагревател и помпа.

Един литър вода се равнява на един кубичен дециметър/ 1л=1 дм3/.

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

 

Вход:

От конзолата се четат 4 реда:

  1. Дължина в см – цяло число в интервала [10 … 500]
  2. Широчина в см – цяло число в интервала [10 … 300]
  3. Височина в см – цяло число в интервала [10… 200]
  4. Процент  – реално число в интервала [0.000 … 100.000]

Изход:

Да се отпечата на конзолата едно число:

  • литрите вода, които ще  събира аквариума.

 

Ето моето решение:

using System;

namespace FishTank
{
    class Program
    {
        static void Main(string[] args)
        {
            int length = int.Parse(Console.ReadLine());
            int width = int.Parse(Console.ReadLine());
            int hight = int.Parse(Console.ReadLine());
            double percent = double.Parse(Console.ReadLine());

            double aqariumVol = length * width * hight;
            double volInLiters = aqariumVol * 000.1;
            double spaceOcu = aqariumVol - (percent / 100.0) * aqariumVol;

            double litersNeeded = volInLiters * (1 - spaceOcu);

            Console.WriteLine(litersNeeded);
        }
    }
}
 

При вход от 85, 75, 47, 17 трябва да получим 248.68875 литра

Тагове:
0
Programming Basics
svephoto avatar svephoto 966 Точки

Здравей, iMPr3S1vEEE,

 

При този израз double volInLiters = aqariumVol * 000.1; трябва да умножиш по 0.001 - десетичната запетая е на неправилно място. Смятането за spaceOcu можеш да го направиш така: double spaceOcu = volInLiters * percent / 100;, а за litersNeeded от обема на аквариума в литри (volInLiters) просто трябва да извадиш мястото, което вече е заето (spaceOcu), без други сметки. Накрая при печатането трябва да форматираме крайния резултат до третия знак след десетичната запетая, защото се оказва, че Judge така иска, но за съжаление това не е посочено изрично в условието (пропуск). И с входните данни, които даваш, на конзолата трябва да получим 248.689 литра. Печатаме така: Console.WriteLine($"{litersNeeded:f3}"); След тези корекции вече трябва да получиш вярното решение. Ако все още нещо се затрудняваш, пиши пак и ще помагаме отново.

0
17/09/2021 00:33:06
ts02hristov avatar ts02hristov 1 Точки

Здравей,

Един съвет, който мога да ти дам като работиш с проценти и не си сигурен! Умножавай по точния процент и след това дели на 100! Винаги ще те спасява от подобни ситуации!

0