Loading...
nikolaykk avatar nikolaykk 94 Точки

Homework: Console Input / Output- tasks with asterisks

Здравейте,

Някой решавал лие от задачите със звездичките?

Ето моите решения.Сеща ли се някой за по-кратък начин за 16 задача, че аз май малко съм се поувлякъл в циклите?  :)

Зад.13 - http://pastebin.com/RKJ1q0Ku

Зад.14 - http://pastebin.com/tBy845R3

Зад. 15 - http://pastebin.com/DfSYu1xX

Зад.16 - http://pastebin.com/SUVUu2nz

Тагове:
0
Programming Basics 02/06/2015 12:23:40
mgulubov avatar mgulubov 73 Точки

Логиката ти е вярна и аз поне не се сещам за по-добър начин да се генерират възможните комбинации.
Това, което можеш да направиш, е да помислиш за оптимизация. Например - string[] charArray, не ти е масив от chars, а е масив от String-ове, а повярвай ми, всеки път, когато имаш възможност да използваш char, вместо string, то ползвай char :). Разликата в изразходваната памет е доста голяма. Също, помисли за това, как можеш да сложиш проверки м/у циклите, които да не позволяват на програмата да изпълнява следващия цикъл, ако няма шанс да се получи валиден резултат.

2
nikolaykk avatar nikolaykk 94 Точки

Благодаря много за коментара!

Използвах string[] charArray защото не успях да получа стринг събирайки char елементи. Сега видях, че ако първия елемент който присъединявам е string а останалите са char това ми решава проблема.За това просто конвертирам първия елемент в string:

 Convert.ToString(charArray[a]).

Относно проверките, това което се сещам първосигнално е да проверя в началото възможно най-голямата разлика, която може да ми даде резултат: 

if(diff>16)
            {
                Console.WriteLine("No");
                return;
            }

Така няма да се въртят безмислено циклите.

0
djc_bg2015 avatar djc_bg2015 923 Точки

Здрасти,

ето и моите решения на 5те задачи:

01 [Work Hours]: http://pastebin.com/JhDZwqL0

02 [Sum of Elements]: http://pastebin.com/ish3VAwa

03 [New House]:  http://pastebin.com/LQKKHdRr

04 [Magic Strings]: http://pastebin.com/FeEU2tBH

04 [Magic Strings V2]: http://pastebin.com/83wbp9cV (алтернатива на решението на nikolaykk)

05 [Catch The Bits]: http://pastebin.com/pQ5vsQkG

Това е едното решението което успях да направя на "Magic Strings", с идеята да не правя много вградени цикли, но определно мисля че това което си направил ти е доста по - правилно. Второто ми решение на задачата е изцяло повлияно от авторското и невиждам смисъл да го поствам.

ПС. Линковете ти към задачи 13 и 14 са за един и същи код (Sum of Elements)

Поздрави!

1
03/06/2015 23:49:08
nikolaykk avatar nikolaykk 94 Точки

Ето линк към зад.13. Извинявам се за грешката.

http://pastebin.com/RKJ1q0Ku

Относно "Magic Strings" не зная кое е по-правилното решение, но във всеки случай твоето решение е много интересно за мен. Използвал си някои неща, които исках да направя в моето решение, но не бях достатъчно настоятелен да ги открия и използвах това, което знам до момента, така че поста ти е супер полезен!

Благодаря!

 

1
02/06/2015 12:22:08
nikolaykk avatar nikolaykk 94 Точки

Ето модефицираното решение на 16 зад.

http://pastebin.com/DRyyHWxN

А това е решението ми на зад.17.

http://pastebin.com/2mskd1H0

0
djc_bg2015 avatar djc_bg2015 923 Точки

Ето и алтернативен вариянт с dictionary:

http://pastebin.com/83wbp9cV

идея нямам дали е по - бърз вариянт от фор циклите и масивите...

0
03/06/2015 18:36:48
nikolaykk avatar nikolaykk 94 Точки

Доколкото видях е еднакво бързо.

Може да ползваш dotnetfiddle.net. освен за качване на код също и за директно стартиране на кода и ти изчислява скорост памет и т.н.

1
djc_bg2015 avatar djc_bg2015 923 Точки

Мерси!

това не го знаех :)

 

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