|
|||
Задача 4_2_25 (инд). Задача 4_3_25 (инд)Задача 4_2_25 (инд) Описание задачи: Подсчитайте количество цифр '5' в строке. Замените каждую цифру '5' ее количеством. Описание алгоритма: Апеллируя предыдущим опытом, используем стандартную функцию substr_count(), чтобы найти количество пятерок в строке, и затем используем функцию str_replace(), чтобы заменить все пятерки в строке на их количество посредством предыдущей функции. Текст программы: <?php $s = $_POST['s'];//Получение строки из формы $count_five = substr_count($s,"5");//Подсчитываем количество пятерок echo str_replace("5",$count_five,$s);//Заменяем все пятерки на их количество и выводим модернизированную строку ?> Тестовый пример:
Блок-схема:
Задача 4_3_25 (инд) Описание задачи: Написать программу, печатающую самое длинное слово, содержащее не менее трех латинских букв 'а', из данной строки. Описание алгоритма: На этот раз ограничиться базовым функционалом не выйдет. С помощью функции preg_split(), использующей регулярное выражение, разбиваем строку по пробелам на массив из строк-слов. Вызываем функцию для полученного массива и обрабатываем все слова в цикле. С помощью функции substr_count() проверяем количество латинских “a” в слове, и если слово имеет больше 3х “a” и больше предыдущего слова, полученного в результате работы алгоритма, записываем его в специально отведенную для этого переменную. В конце выводим результат. Добавляем проверку на пустоту для переменной, содержащей слово. Если она пуста, слов, удовлетворяющих условию, в строке не было. В противном случае выводим значение на экран. Текст программы: <?php function str_compar($str_arr){ $temp = "";//Переменная для слова for ($i = 0; $i < count($str_arr); $i++){//Перебираем все слова в строке if (substr_count($str_arr[$i],"a") > 3){//Проверяем, больше ли трех латинских а в этом слове if (strlen($temp) < strlen($str_arr[$i])){//Если да, то проверяем, больше ли это слово предыдущего $temp = $str_arr[$i];//Если да, заменяем его } } } if (!empty($temp)){//Проверяем переменную слова на пустоту echo "Самое длинное слово с как минимум тремя латинскими a: ".$temp;//Если она была заполнена, слово было получено } else {//Если она осталась пустой, слова не существует, или букв а меньше 3х echo "Самого длинного слова с подходящими условиями либо не существует, либо букв a было менее 3х"; } } $str_arr = preg_split("/[\s,]+/",$_POST['s']);//С помощью регулярного выражения разбиваем строку на слова по пробелам str_compar($str_arr);//Вызываем функцию для нахождения слова
?>
Тестовый пример:
Блок-схема:
|
|||
|