Две! грешки в условието на задача 3.Take/Skip Rope от More Exercises: Lists
Часове ми бяха необходими, докато намеря грешките!
1ва Грешка в изречението " Afterwards, iterate over both of the lists and skip {skipCount} characters from the non-numbers list, then take {takeCount} characters and store it in a result string. "
Обратното е. take {takeCount} characters and store it in a result string, then skip {skipCount} characters from the non-numbers list
То така е показано и в примерите по-долу, че първо вземаме символи и тогава skip-ваме.
2ра Грешка. В главния пример на задачата има стринг "skipTest_String044170" . Предпоследния символ трябва да е шест, а не седем.
Трябва да е skipTest_String044160 , защото думата String има 6 символа, а не 7.
Може ли линк към условието? Благодаря!
https://softuni.bg/downloads/svn/soft-tech/Sept-2019/CSharp/05.%20CSharp-Fundamentals-Lists/05.%20CSharp-Fundamentals-Lists-More-Exercise.docx
Задача 3 от doc файла от линка по-горе.
Ще пейстна и условието тук, но може да се "изяде"(повреди) някой символ при пействането.
3. Take/Skip Rope
Write a program, which reads a string and skips through it, extracting a hidden message. The algorithm you have to implement is as follows:
Let’s take the string “skipTest_String044170” as an example.
Take every digit from the string and store it somewhere. After that, remove all the digits from the string. After this operation, you should have two lists of items: the numbers list and the non-numbers list:
After that, take every digit in the numbers list and split it up into a take list and a skip list, depending on whether the digit is in an even or an odd index:
Afterwards, iterate over both of the lists and skip {skipCount} characters from the non-numbers list, then take {takeCount} characters and store it in a result string. Note that the skipped characters are summed up as they go. The process would look like this on the aforementioned non-numbers list:
After that, just print the result string on the console.
Input
Output
Constraints
Examples
Input
Output
T2exs15ti23ng1_3cT1h3e0_Roppe
TestingTheRope
O{1ne1T2021wf312o13Th111xreve!!@!
OneTwoThree!!!
this forbidden mess of an age rating 0127504740
hidden message
Задачата няма грешка!
Здравейте понеже и аз се обърках на това условие и никой не е обяснил защо задачата не е грешна си позволих да обясня за хората които тепърва ще се бъркат като нас на тази задача.
Просто са си спестили да споменат (или може би ние трябва да се досетим), че ако текстовия стринг е по-малък от текущото число трябва да си дадем текущото число да ни е равно на стринга
затова там където са написали: ( Take 7 characters➔ Taken: "String") а стринга е 6 characters , ако не си направим валидация на индекса гърмим
Ето и моето решение на C# (със знанията до листи) https://pastebin.com/N39PWJvV