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

Задача за аквариум

Привет колеги, изпитвам малки затруднения със десета задача от този лаб - https://softuni.bg/trainings/resources/officedocument/36985/lab-problem-descriptions-programming-basics-with-csharp-january-2019/2210

Когато я напиша по този начин :

double length = double.Parse(Console.ReadLine());
            double width = double.Parse(Console.ReadLine());
            double height = double.Parse(Console.ReadLine());
            double percent = double.Parse(Console.ReadLine());
            double volume = length * width * height;
            double liters = volume * 0.001;
            double otherFills = percent * 0.01;
            double litersNeeded = (liters * (1 - 0.17));
            Console.WriteLine(litersNeeded);

На втория изход ми излиза грешен резултат в случая 597.23895, трябва да е -586.445

А когато я напиша така :

double length = double.Parse(Console.ReadLine());
            double width = double.Parse(Console.ReadLine());
            double height = double.Parse(Console.ReadLine());
            double percent = double.Parse(Console.ReadLine());
            double volume = length * width * height;
            double liters = volume * 0.001;
            double otherFills = percent * 0.01;
            Console.WriteLine(liters*(1-otherFills));

Изкарва резултата както трябва, къде бъркам ?

Благодаря !

Тагове:
0
Programming Basics with C#
knoteva avatar knoteva 984 Точки
Best Answer

Здравей,

В първия случай си хардкоднал процента. 17*0.01=0.17. 0.17 е валидно ако процентът е 17. Във втория тест ще бъде: 18.5*0.01=0.185. В твоя случай трябва да стане: double litersNeeded = (liters * (1 - 0.17  otherFills ));

0
17/07/2019 11:56:35
em3ata avatar em3ata 3 Точки

Т.е. аз съм не съм заложил променливата, а съм заложил нейната стойност ?

1
knoteva avatar knoteva 984 Точки

Да. Процентът е различен и е равен на това, което ти подават на четвърти ред.

0
em3ata avatar em3ata 3 Точки

Благодаря.

1