Софтуерно Инженерство
Loading...
+ Нов въпрос
snake85 avatar snake85 0 Точки

05. Invalid Number задача от judge системата ???

Невалидно число
Дадено число е валидно, ако е в диапазона [100…200] или е 0. Да се напише програма, която въвежда цяло число и печата “invalid” ако въведеното число не е валидно.

Примери:
 
вход    изход        вход    изход        вход    изход        вход    изход       
75    invalid         150    (няма изход)         220    invalid         199    (няма изход)     
  
вход    изход        вход    изход        вход    изход        вход    изход       
-1    invalid         100    (няма изход)         200    (няма изход)         0    (няма изход)     
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Някой може ли да помогне с решението защото при мен нещата не се получават 

[ 0; 100<x<200 ] 

            Console.WriteLine("Enter number");
            int a = int.Parse(Console.ReadLine());
            if ((a != 0) || (a <= 99) || (a >= 201))
                Console.WriteLine("invalid");
            else Console.WriteLine("valid");
 

 

Тагове:
Yargi avatar Yargi 10 Точки
Best Answer

за да има само една проверка пиши :

if ((a != 0) && ((a <= 99) || (a >= 201)))

щото иначе винаги числото е или 0 или между 100 до 200.

0
snake85 avatar snake85 0 Точки

Благодаря :) 

0
jivako000 avatar jivako000 282 Точки

Здравей! Това е моя код от задача!  Ако имаш въпроси, не се колебай дали да питаш! Успех! smiley

using System;

    class Program
    {
        static void Main(string[] args)
        {
            int num = int.Parse(Console.ReadLine());
            if (num < 100 || num > 200 )
            {
                if (num != 0)
                {
                    Console.WriteLine("invalid");
                }
            }
        }
    }
 

0
ZornitsaSerbezova avatar ZornitsaSerbezova 454 Точки

Прогарамата работи ли ти във Вижуал студио? При мен твоят код дава различни от твоите резултати.

0
14/09/2016 16:53:42
Pilgrimage avatar Pilgrimage 513 Точки

Кода не функциконира коректно, защото "0" изпълнява второто ти условие в if-a, т.е. имаш застъпване на дефинираните диапазони.

Изкарай нулата и направи втора проверка, както ти е показал jivako000.

0
Leprikona avatar Leprikona 106 Точки

Първо правиш ненужна проверка за това да не е равно на 0; След това ползваш грешния знак за сравнение - не трябва да е "||"(или), а трябва да изплозваш "&&"(и), което значи че числото е по-голямо 100 ИЛИ(||) по-малко 200,

а е по-голямо от 100 И ЕДНОВРЕМЕННО(&&) с това по-малко от 200.

Трябва да изглежда така:

           Console.WriteLine("Enter number");
            int a = int.Parse(Console.ReadLine());
            if (a >= 100 && a <= 200)
                Console.WriteLine("valid");
            else Console.WriteLine("invalid");

 

0
DimitarKarev avatar DimitarKarev 86 Точки

Моето решение:           

var number = int.Parse(Console.ReadLine());
 if ((number < 100 || number > 200) && number != 0) Console.WriteLine("invalid");

0