Loading...

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

VladoGenov avatar VladoGenov 45 Точки

[Exercises] - Coding-101 - Simple Conditional Statements - Exercise 18 (Number 0...100 to Text)

Условието на задачата е от едно изречение: 18.Изписване на число до 100 с думи

* Да се напише програма, която превръща число [0…100] в текст: 25 -> “twenty five”

Линк на задачата в Judge: https://judge.softuni.bg/Contests/Practice/Index/152#15

Имам проверка за въведено число извън интервала [0..100]. Judge-системата ми даде само 88 точки, при все че в условието няма изискване за съобщение при въвеждане на числа извън интервала [0..100], а тя явно очаква. Какъв може да е проблема и защо при такова условие, без допълнително изискване, особено със специфичен текст липсващ в условието, системата не го приема? Коригирах кода (в оранжево) и добавих извеждане на съобщение "invalid number", но Judge-системта ми дава пак само 92 точки?!
Ето и кода: Codе #-Exercise 18 (Number 0...100 to Text)

0
Programming Basics 09/03/2016 19:53:30
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

Здравей,

Кода който си приложил дава 100/100, сега го тествах.

Съветвам те за споделяне на код да използваш pastebin.com или GitHub, по - красиво, по - четливо и модераторите няма да те санкционират :)

Успех

1
VladoGenov avatar VladoGenov 45 Точки

Благодаря за съвета относно публикуване на код. Остава само да разбера как се слува в pastebin.com или GitHub - вероятно след регистриране и публикуване ти дават линк или?
На мен системата ми даде последно 92/100 с два часовника (лимит време), От отговора разбирам, че вероятно проблема не е у мен, а в Judge?! Но резултата е за моя сметка smiley
Благодаря!

0
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

Да кажем си отваряш http://pastebin.com/
Имаш възможност да се логнеш с фейсбук акаунт или ти да си създадеш такъв. 
След което щракаш на големия зелен бутон "+ new paste" и копи пействаш кода си, все едно в джъдж.

Под кода ще видиш няколко полета, да избереш синтаксиса ( в случая C# )
Колко време да е жив линка
Дали да е публичен или не (естествено за твойте цели в момента трябва да е публичен )

И последното е да му дадеш някакво смислено име.

http://pastebin.com/zvszkbWi - ето така би изглеждал кода ти в pastebin.com

Дано да съм ти бил полезен :)

3
VladoGenov avatar VladoGenov 45 Точки

Благодаря, колега, беше ми много полезно!
И отговорът ти беше изчерпателен и ясен.
Ще се възползвам от съветът ти за кода оттук нататък!
Благодаря отново! :)

0
KrasimirPetkov avatar KrasimirPetkov 328 Точки

Темата е малко старичка, но мисля да се включа и аз с решение, тъй като е малко по-кратко и спестява доста писане: http://pastebin.com/gcNqHSht

2
01/06/2016 14:26:49
VladoGenov avatar VladoGenov 45 Точки

Да, доста старичка smiley но все пак благодаря за кода - от към оптимизация е добро решение.

0
ralitsa_d avatar ralitsa_d 171 Точки

Мисля, че открих грешката - написал си "fourty" за 40. Правилно е да се изпише "forty". Малко обяснение тук.

0
VladoGenov avatar VladoGenov 45 Точки

Благодаря за уточнението "forty" vs. "fourty", но системата приема и двете и не отчита това за грешка, макар че съм съгласен, че коректното изписване е "forty".
Оказа се, че проблема е във временното натоварване на Judge-системата, а не поради грешка в кода. На третото пускане си заработи нормално и отчете 100 точки.

0
ralitsa_d avatar ralitsa_d 171 Точки

Ясно. И аз имах проблем с judge, в един момент изобщо не зареждаше. С новата програма се качват доста нови задачи и натоварването явно е по-голямо.

0
VladoGenov avatar VladoGenov 45 Точки

Явно, но с повечко търпение всичко се получава smiley

1
Plamen27 avatar Plamen27 599 Точки

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

Има кратки пояснения.

http://pastebin.com/SqDUHZn4

Решението е на базата на условни конструкции (conditional statement) switch-case и If-else-if-else.

0
18/06/2016 02:21:49
Zepar avatar Zepar 3 Точки

моето решение http://pastebin.com/QnHsfjAi

 

0
stanislav.kirov avatar stanislav.kirov 1 Точки

Предлагам и моето решение:

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

namespace Number_0._._._100_to_Text
{
    class Program
    {
        static void Main(string[] args)
        {

            var input = int.Parse(Console.ReadLine());
            var chislo = input;
            var chislo1 = input;
            var firstChislo = "";
            var secondChislo = "";
            var razlika = 10;

 


            if (chislo == 0) { Console.WriteLine("zero"); }
            else if (chislo < 0) { Console.WriteLine("invalid number"); }
            else if (chislo <= 15)
            {
                if (chislo == 1) { secondChislo = "one"; }
                if (chislo == 2) { secondChislo = "two"; }
                if (chislo == 3) { secondChislo = "three"; }
                if (chislo == 4) { secondChislo = "four"; }
                if (chislo == 5) { secondChislo = "five"; }
                if (chislo == 6) { secondChislo = "six"; }
                if (chislo == 7) { secondChislo = "seven"; }
                if (chislo == 8) { secondChislo = "eight"; }
                if (chislo == 9) { secondChislo = "nine"; }
                if (chislo == 10) { secondChislo = "ten"; }
                if (chislo == 11) { secondChislo = "eleven"; }
                if (chislo == 12) { secondChislo = "twelve"; }
                if (chislo == 13) { secondChislo = "thirteen"; }
                if (chislo == 14) { secondChislo = "forteen"; }
                if (chislo == 15) { secondChislo = "fifteen"; }

                Console.WriteLine(secondChislo);
            }

            else if (chislo > 15 && chislo <= 19)
            {

                while (input > 10) { input -= razlika; }
                if (input == 1) { secondChislo = "one"; }
                if (input == 2) { secondChislo = "two"; }
                if (input == 3) { secondChislo = "three"; }
                if (input == 4) { secondChislo = "four"; }
                if (input == 5) { secondChislo = "five"; }
                if (input == 6) { secondChislo = "six"; }
                if (input == 7) { secondChislo = "seven"; }
                if (input == 8) { secondChislo = "eight"; }
                if (input == 9) { secondChislo = "nine"; }
                Console.WriteLine(secondChislo + "" + "teen");
            }

            else if (chislo >= 20 && chislo <= 100)
            {
                var desetici = 0;
                while (chislo1 >= 10) { chislo1 -= razlika; }

                if (chislo > 19) { desetici = (chislo - chislo1) / 10; }
                if (desetici == 2) { firstChislo = "twenty"; }
                if (desetici == 3) { firstChislo = "thirty"; }
                if (desetici == 4) { firstChislo = "fourty"; }
                if (desetici == 5) { firstChislo = "fifty"; }
                if (desetici == 6) { firstChislo = "sixty"; }
                if (desetici == 7) { firstChislo = "seventy"; }
                if (desetici == 8) { firstChislo = "eighty"; }
                if (desetici == 9) { firstChislo = "ninety"; }
                if (desetici == 10) { firstChislo = "one hundred"; }

                if (chislo1 == 1) { secondChislo = "one"; }
                if (chislo1 == 2) { secondChislo = "two"; }
                if (chislo1 == 3) { secondChislo = "three"; }
                if (chislo1 == 4) { secondChislo = "four"; }
                if (chislo1 == 5) { secondChislo = "five"; }
                if (chislo1 == 6) { secondChislo = "six"; }
                if (chislo1 == 7) { secondChislo = "seven"; }
                if (chislo1 == 8) { secondChislo = "eight"; }
                if (chislo1 == 9) { secondChislo = "nine"; }

                if (chislo1 != 0) { Console.WriteLine(firstChislo + " " + secondChislo); }
                else { Console.WriteLine(firstChislo); }

            }

            else { Console.WriteLine("invalid number"); }
             

        }
    }
}

 

-2
Iron_Pengu avatar Iron_Pengu 0 Точки

@merteka Евалата, изби рибата човекът.

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