Stream Of Letters - въпрос за отпечатване на същия ред javaScript
1.Поток от букви
Напишете програма, която прочита скрито съобщение в поредица от символи. Те се получават по един на ред до получаване на командата "End". Думите се образуват от буквите в реда на четенето им. Символите, които не са латински букви трябва да бъдат игнорирани. Думите скрити в потока са разделени от тайна команда от три букви – "c", "o" и "n". При първото получаване на една от тези букви, тя се маркира като срещната, но не се запазва в думата. При всяко следващо нейно срещане се записва нормално в думата. След като са налични и трите символа от командата, се печата думата и интервал " ". Започва се нова дума, която по същия начин чака тайната команда, за да бъде отпечатана.
Вход
От конзолата се чете поредица от редове с един символ на всеки до получаване на командата "End".
Изход
На конзолата се печата на един ред всяка дума след тайната команда, следвана от интервал.
Примерен вход и изход
Вход |
Изход |
Обяснения |
H n e l l o o c t c h o e r e n e End |
Hello there |
"H", "n", "e", "l", "l", "o", "o", "c", "t", "c", "h", "o", "e", "r", "e", "n", "e" са всички букви прочетени от конзолата. Първо се чете "H" и се прибавя към думата. След това се чете "n". То е част от командата и не се прибавя към думата тъй като се среща за първи път. След това се четат "e", "l", "l" от конзолата и се добавят към думата. Прочита се "o" и се отбелязва като срещната, но не се добавя към думата. След това се прочита "o" отново и се записва. Следва "c" и вече са налични символите за тайната команда. Отпечатва се "Hello " и се следи за нова тайна команда. Прочита се "t" и се запазва в новата дума. След това "c" e част от новата команда и не се добавя. Прочита се "h" и се добавя към думата. Следва "o", което e част от новата команда. Прочитат се "e", "r", "e" и се добавят към думата. Приема се "n" и тайната команда е завършена. Печата се "there ". Прочита се "e" и се добавя към нова дума. Получава се командата "End" и програмата приключва. Крайният резултат е "Hello there " . |
Не знам как се печата на същия ред. Моля за помощ. Това е моя код https://pastebin.com/dTuE5sju , но ако някой може да ми даде друго работещо решение, пак бих бил благодарен.
По условие трябва да логна думата, когато получа трите ключови букви и judge очаква точно това. На C# нямах проблеми с тая задача, но тук ми е все още мътно.
Сега ти погледнах кода, според мен няма да имаш нужда от печатане на същия ред ако просто word += symbol го преместиш преди проверките за печатане. Иначе печатането на същия ред го има тук, но не мисля, че това ти трябва в този курс.
Предпочитам да видя работещо решение. Прекалено много време ми отне тази задача. Поиграх си да я преработя и сега word += symbol; е преди проверката, и може би самата задача е по-четима, но в judge ми дава 40/100. Ето и новото решение: https://pastebin.com/QAGRUjZm
Ето ти работещо тук, виж го, разликата е в добавена още една променлива която да печаташ накрая. По принцип мисля, че би било по - добре за теб самият да се почупиш малко повече, но сам да стигаш до работещите решения. :) Наздраве
Благодаря ти! Напълно си прав за главоблъскането по трудни задачи - те наистина помагат най-много. Просто условието на задачата ме обърка. Смятах, че след тайните букви трябва задължително да се отпечата думата, а не да се запазват в променлива, която да се отпечата най-накрая.