*Изписване на число до 100 с думи
Здравейте колеги,някой от по-напредналите в материала или някой ,който я е решил тази задача, може ли да ме насочи към решаването на задачатa без хамалския вариант със 100 switch case-a.Благодаря предварително.
Здравейте колеги,някой от по-напредналите в материала или някой ,който я е решил тази задача, може ли да ме насочи към решаването на задачатa без хамалския вариант със 100 switch case-a.Благодаря предварително.
Това е моето творение за тази задача.
Надявам се да ти е полезно
Можеш да използваш т. нар. "паралелни масиви"; това е просто термин за няколко масива, спрямо които се съгласува предоставянето на информация или извършването на изчисления. В случая със стойностите от 0 до 100, масивите могат да бъдат следните:
digits = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
teens = ["ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"]
adults = ["twenty", "thirty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety"]
В digits съхраняваш цифрите, в teens са числата от 10 до 19, и в adults са числата от [20, 30, 40..., 90]. Ще ти трябва и един празен низ в който да съхраняваш резултатът. Оттук насетне намираш зависимости между тези масиви в отделните интервали с няколко условни конструкции (if и else if). Но е важно още в началото да направиш проверка за валидността на въведената стойност. По условие, стойността не може да бъде по-малка от 0 и по-голяма от 100, и ако е, присвояваш съответната стойност ("invalid number", доколкото помня).
Благодаря за насоката колега.И аз си мислех нещо подобно да направя,обаче не бях много сигурен как точно да стане.Ще се пробвам да го направя по този начин и ще пиша как съм се справил ;)
Има поне още 2-3 такива теми. Четете преди да поствате :)
Колега,като цяло разбрах за какво става въпрос в кода,само ако може да ми разясниш какво се случва тука : Console.WriteLine(n < 10 ? ones : $"{tens} {ones}"); .До колкото разбирам правиш проверка ако n < 10 ,n става равно на ones,ако n не е по-малко от 10 тогава отпечатваш tens+ones като стринг,нали така?
Да, точно така. Това е "Тернален оператор" или "Conditional Expression". Замества if { ... } else { .. }
Същият резултат ще се постигне със:
if (n < 10)
{
Console.WriteLine(ones);
}
else
{
Console.WriteLine($"{tens} {ones}");
}