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

Въпрос към задача от Conditional Statements - More Exercises

Judge ми дава само 90 точки и не ми казва къде е проблема .

задачата е следната:

03. Harvest 

https://judge.softuni.bg/Contests/Practice/Index/1658#2

1.Реколта

От лозе с площ X квадратни метри се заделя 40% от реколтата за производство на вино. От 1 кв.м лозе се изкарват Y килограма грозде. За 1 литър вино са нужни 2,5 кг. грозде. Желаното количество вино за продан е Z литра.

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

 

Кода ми е този :

 

using System;

namespace _03._Harvest
{
    class Program
    {
        static void Main(string[] args)
        {
            int X = int.Parse(Console.ReadLine());
            double Y = double.Parse(Console.ReadLine());
            int Z = int.Parse(Console.ReadLine());
            int workers = int.Parse(Console.ReadLine());

            double totalGrapes = X * Y;
            double grapesForWine = totalGrapes * 0.4;
            double totalWine = grapesForWine / 2.5;


            if (totalWine >= Z)
            {
                double wineForWorkers = totalWine - Z;
                double winePerWorker = wineForWorkers / workers;
                wineForWorkers = Math.Ceiling(wineForWorkers);
                winePerWorker = Math.Ceiling(winePerWorker);
                totalWine = Math.Ceiling(totalWine);

                Console.WriteLine($"Good harvest this year! Total wine: {totalWine} liters.");
                Console.WriteLine($"{wineForWorkers} liters left -> {winePerWorker} liters per person.");
            }
            else
            {
                totalWine = Math.Ceiling(totalWine);

                double wineNeeded = Z - totalWine;
                wineNeeded = Math.Floor(wineNeeded);
                Console.WriteLine($"It will be a tough winter! More {wineNeeded} liters wine needed.");
            }

        }
    }
}

 

Моля помогнете благодаря предварително !


 

Тагове:
0
Programming Basics
V.Ivanova111 avatar V.Ivanova111 6 Точки

Здравейте.

Всичко е вярно, само на изхода - когато количеството на произведеното вино е по-голямо или  равно на  Z,

резултатът  за общото вино трябва да е закръглен към по-ниско цяло число: 

вместо

 totalWine = Math.Ceiling(totalWine);

totalWine = Math.Floor(totalWine);

0
Slavena_cholakova avatar Slavena_cholakova 8 Точки

Аз също срещам същият проблем 90/100, въпреки употребата на Math.Floor. Идеи, предположения или предложения?

using System;
                    
public class Program
{
    public static void Main()
    {
        int kvmX = int.Parse(Console.ReadLine());
        double grapes1kvmY = double.Parse(Console.ReadLine());
        int winePerLiterZ = int.Parse(Console.ReadLine());
        int workers = int.Parse(Console.ReadLine());
            
        double grapesAll = kvmX * grapes1kvmY; 
        double wineFromHarvest = ((0.4 * grapesAll) / 2.5);
             if(wineFromHarvest >= winePerLiterZ)
         {
         double diff = Math.Floor(wineFromHarvest - winePerLiterZ);
         double litetsPerPerson = Math.Ceiling (diff / workers);
         Console.WriteLine("Good harvest this year! Total wine: {0} liters.",wineFromHarvest);
         Console.WriteLine("{0} liters left -> {1} liters per person.", diff, litetsPerPerson);
        }
        else  
         {
        double diff = Math.Floor(winePerLiterZ - wineFromHarvest);
         Console.WriteLine("It will be a tough winter! More {0} liters wine needed." ,diff);
         }
    }
}
    
         

0
RuNNeR4142 avatar RuNNeR4142 396 Точки

Slavena_cholakova    double diff = Math.Floor(wineFromHarvest - winePerLiterZ);  трябва да е закръглено нагоре.

0
Slavena_cholakova avatar Slavena_cholakova 8 Точки

Благодаря. Това пък аз съм го пропуснала. Все дребни детайли, но от значение. Но отново е 90/100

0
16/06/2019 14:08:58
RuNNeR4142 avatar RuNNeR4142 396 Точки

Извинявай, не бях пуснал кода и предположих че е само една грешка за един пример, но явно има още нещо:

Console.WriteLine("Good harvest this year! Total wine: {0} liters.",wineFromHarvest); трябва да е закръглено надолу.

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