Loading...
Ivenkova avatar Ivenkova 0 Точки

Histogram - For Loop- задача от упражненията. Може ли корекция на решението

using System;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            double p1 = 0;
            double p2 = 0;
            double p3 = 0;
            double p4 = 0;
            double p5 = 0;
            double counter = 0;

            for (int i = 1; i < n; i++)
            {
                int number = int.Parse(Console.ReadLine());


                if (number < 200)
                {
                    p1 = counter / 20 * 100;
                    counter += 1;
                }
                else if (number < 399)
                {
                    p2 = counter / 20 * 100;
                    counter += 1;
                }
                else if (number < 599)
                {
                    p3 = counter / 20 * 100;
                    counter += 1;
                }
                else if (number < 799)
                {
                    p4 = counter / 20 * 100;
                    counter += 1;
                }
                else if (number < 1000)
                {
                    p5 = counter / 20 * 100;
                    counter += 1;

                }
            }
            Console.WriteLine($"(p1:f2)%, (p2:f2)%, (p3:f2)%, (p4:f2)%, (p5:f2)%", p1, p2, p3, p4, p5);
        }
    }
}

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

Здравей,

 

Може ли да дадеш и условието на задачата?

0
svephoto avatar svephoto 1191 Точки

Намерих условието.

В началото си направи отделни броячи int counter (1, 2, 3 ...) за всяко от петте p (p1, p2, p3 ...), защото имаш нужда от брояч за всяко едно число, което влиза в съответния диапазон. Трябва да сложиш "=" при i < n; в условието на for-цикъла и да стане i <= n, щом започваш да итерираш от i = 1. Премахни правенето на сметките във всяка една проверка, остави само увеличването на съответния брояч за всяко p. Премести си 5-те променливи double p1 ... double p5, които си направила в началото и ги сложи след цикъла. Там за всяко p си направи сметката от примерите в условието: counter * 1.0 / n * 100. Тук може би си гледала от самия пример и си сложила 20 при правенето на сметката за всяко число, но в случая в примера, 20 е броят числа n, които се въвеждат в началото. Важно е след първата проверка изрично да направиш сравненията в следващите 3 проверки в този вид:

 

else if (number >= 200 && number <= 399)

else if (number >= 400 && number <= 599)

else if (number >= 600 && number <= 799)

 

иначе някои сметки за проценти излизат, но други не и Judge се кара. :-) Накрая за 5-тата проверка си остави само else.

 

След като си направила сметките за 5-те p, си правиш печатането, но то трябва да бъде на отделен ред за всяко p:

 

            Console.WriteLine($"{p1:f2}%", p1);

            .....

            Console.WriteLine($"{p5:f2}%", p5);

 

Сложила си нормални скоби "()" на плейсхолдърите вместо къдрави "{}".

Ако все още се затрудняваш, пиши и пак ще помагаме. Успех!

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