Loading...
Mr.Rusev avatar Mr.Rusev 8 Точки

[Programming Basics] C# - 06. Number in Range [1...100]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ChisloVdiapazona_1._._100_
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Еnter a number in the range[1...100]: ");
            var num = int.Parse(Console.ReadLine());
            while (num <= 0 || num >= 100 || num == 600)
            {
                Console.WriteLine("Invalid Number!");
                Console.Write("Еnter a number in the range[1...100]: ");
                num = int.Parse(Console.ReadLine());
            }
            Console.WriteLine($"The number is: {num}");
        }
    }
}

Може ли някой да ми каже защо моето решение така ми дава 80  точки. Според Judge системата моя код гърми при следния вход:

101
0
-50
-60
100
600

А като си тествам кода (а и според текста на задачата) 600 е Invalid Number и чака още 1 входно число. 

Моля помагайте :) Мерси.

Тагове:
1
Programming Basics 17/07/2017 23:09:12
VasilValchanov avatar VasilValchanov 555 Точки

Ами този кейс не ти трябва значи -> || num == 600

0
Mr.Rusev avatar Mr.Rusev 8 Точки

Аз го вкарах това само и само да не гърми кода... ама уви не го гледайте това || num == 600

0
VasilValchanov avatar VasilValchanov 555 Точки

While(num < 1 || num > 100)

0
Mr.Rusev avatar Mr.Rusev 8 Точки

Така просто изключваме 0-та и 100. 

Според мен е грешка в Judge.

Тествайте решението си в judge системата: https://judge.softuni.bg/Contests/Practice/Index/156#5.

0
15/07/2017 19:05:49
Mr.Rusev avatar Mr.Rusev 8 Точки

Сега като гледах друг код който има 100/100 видях че той приема 100 за valid number. 

Мисля че трябва да оправите или условието на задачата. Или да направите Judge да не приема 100 и 0 за валидни. 

А иначе входа на Judge продължава и с 600 но според кода който вади 100/100 - не се стига до 600 изобщо :)

using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;

namespace ChisloVdiapazona_1._._100_
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Еnter a number in the range[1...100]: ");
            var num = int.Parse(Console.ReadLine());
            while (num <= 0 || num > 100)
            {                 
                    Console.WriteLine("Invalid Number!");
                    Console.Write("Еnter a number in the range[1...100]: ");
                    num = int.Parse(Console.ReadLine()); 
            }
            Console.WriteLine($"The number is: {num}");
        }
    }
}

 

0
VasilValchanov avatar VasilValchanov 555 Точки

While(num < 1 || num > 100)

Така проверява първо дали числото е по малко от 1 след това проверява дали числото е по колямо от 100...........

Ако не влиза в нито един от 2-та случая излиза от цикъла и принтира числото, което си въвел!

Също като другия код който си гледал на колегата.

 

0
15/07/2017 19:42:17
desislava777 avatar desislava777 165 Точки

Ето едно просто решение, дава 100 точки:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication10
{
    class Program
    {
        static void Main(string[] args)
        {
            int num = int.Parse(Console.ReadLine());
            while (num<1 || num>100)
            {
                Console.WriteLine("Invalid number!");
                num = int.Parse(Console.ReadLine());
            }
            Console.WriteLine("The number is {0}", num);
        }
    }
}

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