[Programming Fundamentals] - 21. Numbers In Reversed Order
Здравейте,
Не мога да реша задачата, когато стигнем до условието с десетичната запетая. За момента кода изглежда така. Моля за насока как да продължа от тук нататък.
Поздрави
Здравейте,
Не мога да реша задачата, когато стигнем до условието с десетичната запетая. За момента кода изглежда така. Моля за насока как да продължа от тук нататък.
Поздрави
Най-добре е ако числото се разглежда като string. Първо ако е целочислено числото действително можеш да вкараш един цикъл while(number>0) и всеки път да делиш на цяло число 10, но можеш да получиш като вход и дробно число.При него вече няма гаранция колко цифри ше са след десетичната запетая и най-рационалното нещо, което може да се направи е да разглеждаш числото като текст.Eдин number.Reverse() (ако number е string) те оправя идеално
Здравей колега,
Специално тази задача може да се реши със стринг и едни for цикъл. Числото което искаш да въведеш го запазваш в стринг и пускаш един обратен for цикъл. Това е моето решение: цък
Супер !
Предложение как да решим без масиви още не сме ги учили ?
Благодаря
Бих ти препоръчал ето тази статийка. Тук нещата са без масиви, а са само прости математически сметки.Но не съм много сигурен че тези сметки могат да се приложат за десетичните дроби.
Решението наистина е толкова кратко, но по условие се иска задачата да бъде решена с метод. code
Привет,
Аз също изпитах доста големи затруднения с тази задача!
Тук да отворя една скоба - ясно ми е, че ако числото се разглежда като string и се използва масив, задачата може да се реши на 5 реда. Според мен обаче съвсем преднамерено са я дали преди темата за arrays и идеята е да си напънем мозъците за решение, което използва само знанията ни към момента :)
Условието казва да се напише метод, който принтира decimal number на обратно, но аз така и не успях да измисля как това може да стане директно. Вместо това разделям числото на "лява" (цяла) и "дясна" (десетична) част и за всяка от тях прилагам метод, който принтира integer number на обратно.
Това обаче доста усложнява решението, защото "дясната" част трябва да се докара до цяло число (примерно от 313.004319 трябва да се достигне до числото 4319), а отделно трябва да се въведе и брояч за евентуални нули между десетичната запетая и "дясното" число. Като се добавят и проверки за цели / отрицателни числа, крайното решение (поне според мен) изглежда прекалено дълго и тромаво за задача с едноредово условие.
Затова ми е много любопитно дали по-съобразителни от мен колеги са измислили някакво по-елегантно решение, при което методът работи директно с decimal числа. Отново да повторя - решения, използващи array, не ме интересуват!
Благодаря предварително :)
Ето :
string input = Console.ReadLine();
Console.WriteLine(string.Join("",input.Reverse()));
Реално .Reverse() ти връща IEnumerable колекция.
Поздрави,
Владо
Може да се отпечата и с
Console.WriteLine(new string(input.Reverse().ToArray()));
Ъъъ, с риск да прозвуча грубо, "Отново да повторя - решения, използващи array, не ме интересуват!".
И reverse, и Join не разглеждат въведената данна като число, а ползват знания, добити в темата за arrays.
От друга страна, напълно възможно е задачата да е била дадена на предходната тема, защото е станало объркване (нали бе сменен учебният план - може би колегите от предния випуск вече са били минали arrays на този етап?). Съответно от нас да се е е очаквало да ползваме arrays и аз само да съм си блъскал главата напразно :)
Здравей и от мен...
доста помислих над тази задача, тъй като исках да я направя с Integer а не със string, накрая стигнах до това решение: https://github.com/sashkooooy/MyRepo/blob/master/3.ProgrammingFundamentals/2.DataTypesIMethodsIArraysILists/4.21-NumbersInReversedOrder/Program.cs ... но не мога да разбера, защо ми дава само 50 точки в Judge.. Не съм пробвал със string и е много възможно точно заради това да не ми дава всички 100 точки.
Надявам се, да съм помогнал до някъде. :)
Едно решение и от мен :)
Здравейте, кодинг джедаи! Моля, някой да постне решение без масиви, щото пейст биновете на другите от миналата година вече не са активни! Тенкс ин адванс, мей дъ форс би уитю.
https://pastebin.com/Lqsv9SdY
Аз също бих искал да споделя едно решение подредством string:
https://pastebin.com/MEm7ZgqC
Решението работи на 100/100.
До колкото се запознах с предлаганите реяения, виждам, че в много от тях колегите не разглеждат случаи , когато подаденото число е отрицателно и съответно знака '-' трябва да се постави най-отпред при reverse-ването на числото, а не да остане в края на string-a.