Loading...

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

Simooo93 avatar Simooo93 81 Точки

[Homework] Advanced C# - Strings and Text Processing

Здравейте колеги,

 

Тъй като най-накрая се научих да използвам GitHub реших да дам своите решения на задачите от "стрингове и текстообработка". 

Ето задачите: 

1. Reverse String;

2. String Length;

3. Count Substring Occurences;

4. Text Filter;

5. Unicode Characters

6. Palindromes

7. Letters Change Numbers

Ще съм благодарен, ако дадете някакво ревю за задачите. На 7-ма задача хващам 90 точки в judge-а, явно хвърля exception на първи тест, но не мога да разбера защо. 

Тагове:
3
Fundamentals Module 29/09/2015 14:15:03
bacuty avatar bacuty 55 Точки

https://github.com/VasilenaDragancheva/ExamSolutions

Ето моите решения на задачите от изпитите :) там е и 7ма.

Бих се радвала ако някой му се гледа да ме критикува... Понеже имам нужда от градивна критика за качество на кода :)

1
28/09/2015 16:49:26
kidroca avatar kidroca 117 Точки

Здравей, 

Понеже поръча критика относно качеството на кода, най - ярко впечетление ми направи следното (Става дума за 7ма задача от това домашо "Leters Change Numbers"):

if (letterBefore >= 'A' && letterBefore <= 'Z')
{
    currentSum = number / (-'A' + letterBefore + 1);
}
else if (letterBefore >= 'a' && letterBefore <= 'z')
{
    currentSum = number * (-'a' + letterBefore + 1);
}
if (letterAfter >= 'A' && letterAfter <= 'Z')
{
    currentSum -= (-'A' + letterAfter + 1);
}
else if (letterAfter >= 'a' && letterAfter <= 'z')
{
    currentSum += (-'a' + letterAfter + 1);
}

Няма място между първият и вторият if-else блок и на пръв поглед може да се объркаш че са един блок, за да не се получава така е прието след края на всеки блок (общо взето всичко което има { } - for, if, wile, method etc... ) от код да се оставя по един празен ред освен ако на следващия ред не се пада } - затварящата скоба на по - горен блок. (В случея else if-a е част от if блок-а и между тях не трябва да има място, краят на този блок е затварящата скоба на else if-a })

Следващото нещо е  -'A' + letterBefore + 1 това е равносилно на letterBefore -'A' + 1 , което се чете по - лесно.

Иначе като цяло имената са добре подбрани и лесно се разбира какво става

Отделно от това има някой папки в репозиторито ти които биха се радвали на друго име, като ArraySlider1, BinarySearch1 etc.

вместо "1" там трябва да има думи или две от които da става ясно по - какъв начин това е по различно от ArraySlider или BinarySearch, ако все пак не може да намериш по - подходящо име BinarySearchAlternative е по - добре.

Успех!

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