Loading...
Ninna avatar Ninna 0 Точки

[Associative Arrays Homework] Задачи Sentence Extractor и Word Mapping

Здравейте, струва ми се, че за тези две задачи има нещо, което не е упоменато в условията.Какви проверки за вход трябва да се направят? Какви са възможните данни, които могат да се подават? 

Задачите ми се решават за посочените примери и за нулевите тестове и до там. Може ли подсказка какво пропускам?

Sentence Extractor    Word Mapping

Тагове:
0
PHP Fundamentals
fbinnzhivko avatar fbinnzhivko 1586 Точки
Best Answer

01.WordMapper.php

Sentence Extractor

Дано тези ришения ти помогнат.
Пиши после къде е бил проблема в твоите решения.

1
Ninna avatar Ninna 0 Точки

Благодаря ти,

WordMapper-а ми излезе. Проблемът беше, че бях задълбала с разни preg_replace за интервали, не буквени символи... Разделях стринга с explode, от твоя код видях функцията - str_word_count, която явно е по-коректна в случая.

Защо ми се струва, че в твоя код има дублиране - веднъж броиш с array_count_values, после с foreach пак отброяваш.

0
Ninna avatar Ninna 0 Точки

За задачата Sentence Extractor, грешката ми беше в този ред -

        $word = '/\s+'.$word .'\s*.*[.?!]/'; 
когато го замених с      $word = '/\b'.$word .'[\s|!?.,]/';   от твоя код, се получи. Не са ми много ясни все още тези изрази, но ще продължа да ги мъча :)

Още веднъж - Благодаря за помощта!

0
16/02/2017 15:15:40
oxygen avatar oxygen 7 Точки

Тези задачи за PHP курса не са нови. Давани са и за други курсове. Например за C# и т.н. Има решения във форума на доста от тях. Реджексите са трудни и трябва да се търси в интернет как да ги напишеш.

При екстрактването на изречения всичко е в реджекса:

$text = trim(fgets(STDIN));
$word = trim(fgets(STDIN));
$pattern = "/\b([^.?!]*\b$word\b[^.?!]*[.?!])/";

preg_match_all($pattern, $text, $matches, PREG_PATTERN_ORDER);
$sentences = $matches[1];
foreach ($sentences as $sentence) {
    echo $sentence . "\n";
}

за първа задача пак с реджекс:

$text = $_GET['input'];
$text = strtolower($text);
$wordsArray = preg_split("/[^a-zA-Z]+/", $text, -1, PREG_SPLIT_NO_EMPTY);
$countedWords = array_count_values($wordsArray);
0
VitaminX avatar VitaminX 7 Точки

Извинявам се, малко не е по темата, но супер много време се чудих защо не ми става задачата, а се оказа, че трябва да се използва GET а, не POST в Judge
Ако някой служител на SoftUni чете, моля да добавите пояснение, че трябва да се ползва GET или POST съответно, към задачата.

0
20/02/2017 09:50:32
VitaminX avatar VitaminX 7 Точки

Аз говоря когато го поствам в judge, иначе си работи при мен (вече) :)  Имах проблема за който си постнал линк, но го реших.

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