Loading...
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

[Homework] C# Basics - Console Input/Output

Лекцията може да не е минала, но щом ни пуснаха домашното трябва да го налазваме - ще е полезна темата за тези, които са имали повечко време и са стигнали до тук и са си прочели презентацията.

1. Sum of 3 Integers (Уж integers, а пък в примерите дробни числа.. тогава и ние няма да се ограничаваме до целочислени)

2. Print Company Information (правя всички телефонни номера стрингове, защото не знаем в какъв формат евентуално биха ни ги подали)

3. Circle Perimeter And Area (решение от Lyubo)

4. Number Comparer

5. Formatting Numbers (решение от Lyubo)

6. Quadratic Equation (решение от Lyubo)

7. Sum of 5 Numbers (не мога да измисля по-лесно решение в момента)

8. Numbers from 1 to n

9. Sum of N Numbers

10. Fibonacci Numbers

11. Numbers in interval dividable by given number (може да се оптимизира като се намери първият търсен елемент и после се прескача през 5 и още 1-2 проверки)

12. //TODO

52
Programming Basics 07/10/2014 21:34:09
savina.toteva avatar savina.toteva 10 Точки

Здравейте,

Стигнах до проблем 16 "Array Matcher"...Но,когато въведох кода в Judge систамета има един тест,който ми дава грешка.

Input : LKMDaswq|X \abcAX|\right exclude

Exp Out: " DKLMqsw"

Изходът ,който получавам аз е : "  DKLMqsw".

Мисля,че в моя резултата има един интервал повече и за това ми гърми с грешка... 

Блъсках се достта време,но не мога да намеря проблема.

Кода е следния:  http://pastebin.com/Cw5hmH3w

Бих се радвала ,яко някой успее да ме "светне" по този проблем>

 

Блгодаря!

 

1
13/11/2015 21:06:42
Innos avatar Innos 419 Точки

Проблемът е малко по странен за обясняване, накратко проблемът идва от факта че масивът с резултата ти е по голям от колкото трябва да е, и екстра битовете по подразбиране са напълнени с null terminator-и, като ги сортираш null terminator-ите отиват отпред и понеже конзолата не знае как да ги отпечата отпечатва празни места вместо тях. Прегледах всички решения на задачата са направени с лист за резултат вместо с масив, просто е по лесно така, алтернативата би била да се печатат елементите на масива 1 по 1 като с проверка да се изпускат ако са null terminator '\0'. Но докато сме на въпроса 2рите цикли в right exclude и left exclude не ти трябват, ти не ги използваш никъде реално, също така понеже резултата е само 1 може да изнесеш и сортирането и печатането след if/else -овете.

1
14/11/2015 22:56:04
savina.toteva avatar savina.toteva 10 Точки

Здравей,

Резултатния масив в случая с 11 елемнта,точно колкото са о елементите от първия масив, като броим и интервала от стринга "LKMDaswq|X "...

Не съм сигурна ,че разбирам - в случая този интервал се приема като "null"?

 

 

0
Innos avatar Innos 419 Точки

Не, спейса си работи както трябва просто екстра 3те места в масива които не са запълнени правят проблема резултатният ти масив е с 11 елемента, очакваният отговор е " DKLMqsw" което е 8 елемента, но при тебе масива изглежа така "\0\0\0 DKLMqsw", тези нули са null terminator-и, но понеже не са предвидени за печатане конзолата като не знае какво да ги прави печата спейсове на техните места което измества полученият ти резултат до "    DKLMqsw" 11 елемента (имаш все едно 3 паднати спейса отпред). Това разбира се не е верният отговор затова теста гърми. Решението на проблема без да изменяш много решението си е да печаташ елементите 1 по 1 като имаш проверка дали елемента не е \0, ако е го пропускаш примерно така:


for (int i = 0; i < arrResult.Length; i++)
        {
            if (arrResult[i] != '\0')
            {
                Console.Write(arrResult[i]);
            }
        }

1
14/11/2015 01:17:58
kikuzmanov avatar kikuzmanov 6 Точки

Ето моето решение на Problem 5. Formatting numbers:

http://pastebin.com/w1GKANCc

Що се отнася до условието, мисля че трябва а < 0; защото когато го изпринтим в hexadecimal, ще ни върне некоректно конвертирано число, тъй като колоната е с ширина от 10 символа.

Когато а > 500, не виждам да има проблем и не мога да разбера това ограничение. Някой може ли да обясни?

И все пак, използвал съм if, else if & else, за да връща грешки, когато a < 0 или a > 500, както е по-условие. 

Едит:

Предложение и за Problem 6. Quadratic Equation

http://pastebin.com/pvp98Vyg

Мисля, че работи коректно. Пробвах няколко различни варианти, но не успя да гръмне. :)

Поздрави

 

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